netatalk  4.4.0dev
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
queries.c File Reference
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <atalk/logger.h>
#include <sys/param.h>
#include <sys/time.h>
#include <sys/types.h>
#include <netatalk/at.h>
#include <atalk/atp.h>
#include "file.h"
#include "comment.h"
#include "printer.h"
#include "ppd.h"
#include "lp.h"
#include "uam_auth.h"

Data Structures

struct  genquery

Functions

int cq_default (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_k4login (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_uameth (struct papfile *, struct papfile *, struct sockaddr_at *)
int gq_balance (struct papfile *)
int gq_pagecost (struct papfile *)
int gq_true (struct papfile *)
int gq_rbispoolerid (struct papfile *)
int gq_rbiuamlist (struct papfile *)
int gq_product (struct papfile *)
int cq_query (struct papfile *, struct papfile *, struct sockaddr_at *)
void cq_font_answer (char *, char *, struct papfile *)
int cq_fontlist (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_font (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_feature (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_printer (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_rmjob (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_listq (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_rbilogin (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_end (struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_default (struct papfile *in, struct papfile *out, struct sockaddr_at *sat _U_)
int cq_query (struct papfile *in, struct papfile *out, struct sockaddr_at *sat _U_)
int cq_fontlist (struct papfile *in, struct papfile *out, struct sockaddr_at *sat _U_)
int cq_font (struct papfile *in, struct papfile *out, struct sockaddr_at *sat _U_)
int cq_feature (struct papfile *in, struct papfile *out, struct sockaddr_at *sat _U_)
int cq_printer (struct papfile *in, struct papfile *out, struct sockaddr_at *sat _U_)
int cq_rmjob (struct papfile *in, struct papfile *out, struct sockaddr_at *sat _U_)
int cq_listq (struct papfile *in, struct papfile *out, struct sockaddr_at *sat _U_)
int cq_rbilogin (struct papfile *in, struct papfile *out, struct sockaddr_at *sat _U_)
int cq_end (struct papfile *in, struct papfile *out _U_, struct sockaddr_at *sat _U_)

Variables

static const char * spoolerid = "(PAPD Spooler) 1.0 (" VERSION ")\n"
static const char * nouams = "*\n"
struct genquery genqueries []
static const char * psver = "*PSVersion\n"
static const char * prod = "*Product\n"
static const char * rmjobfailed = "Failed\n"
static const char * rmjobok = "Ok\n"
static struct uam_objpapd_uam = NULL
static const char * rbiloginok = "0\r"
static const char * rbiloginbad = "-1\r"
static const char * rbiloginerrstr
struct papd_comment queries []

Function Documentation

◆ cq_default() [1/2]

int cq_default ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_default() [2/2]

int cq_default ( struct papfile * in,
struct papfile * out,
struct sockaddr_at *sat _U_ )

◆ cq_end() [1/2]

int cq_end ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_end() [2/2]

int cq_end ( struct papfile * in,
struct papfile *out _U_,
struct sockaddr_at *sat _U_ )

◆ cq_feature() [1/2]

int cq_feature ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_feature() [2/2]

int cq_feature ( struct papfile * in,
struct papfile * out,
struct sockaddr_at *sat _U_ )

◆ cq_font() [1/2]

int cq_font ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_font() [2/2]

int cq_font ( struct papfile * in,
struct papfile * out,
struct sockaddr_at *sat _U_ )

◆ cq_font_answer()

void cq_font_answer ( char * start,
char * stop,
struct papfile * out )

◆ cq_fontlist() [1/2]

int cq_fontlist ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_fontlist() [2/2]

int cq_fontlist ( struct papfile * in,
struct papfile * out,
struct sockaddr_at *sat _U_ )

◆ cq_k4login()

int cq_k4login ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_listq() [1/2]

int cq_listq ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_listq() [2/2]

int cq_listq ( struct papfile * in,
struct papfile * out,
struct sockaddr_at *sat _U_ )

◆ cq_printer() [1/2]

int cq_printer ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_printer() [2/2]

int cq_printer ( struct papfile * in,
struct papfile * out,
struct sockaddr_at *sat _U_ )

◆ cq_query() [1/2]

int cq_query ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_query() [2/2]

int cq_query ( struct papfile * in,
struct papfile * out,
struct sockaddr_at *sat _U_ )

◆ cq_rbilogin() [1/2]

int cq_rbilogin ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_rbilogin() [2/2]

int cq_rbilogin ( struct papfile * in,
struct papfile * out,
struct sockaddr_at *sat _U_ )

◆ cq_rmjob() [1/2]

int cq_rmjob ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ cq_rmjob() [2/2]

int cq_rmjob ( struct papfile * in,
struct papfile * out,
struct sockaddr_at *sat _U_ )

◆ cq_uameth()

int cq_uameth ( struct papfile * ,
struct papfile * ,
struct sockaddr_at *  )

◆ gq_balance()

int gq_balance ( struct papfile * )

◆ gq_pagecost()

int gq_pagecost ( struct papfile * out)

◆ gq_product()

int gq_product ( struct papfile * out)

◆ gq_rbispoolerid()

int gq_rbispoolerid ( struct papfile * out)

◆ gq_rbiuamlist()

int gq_rbiuamlist ( struct papfile * out)

◆ gq_true()

int gq_true ( struct papfile * out)

Variable Documentation

◆ genqueries

struct genquery genqueries[]
Initial value:
= {
{ "UMICHCostPerPage", gq_pagecost },
{ "RBISpoolerID", gq_rbispoolerid },
{ "RBIUAMListQuery", gq_rbiuamlist },
{ "Product", gq_product },
{ "ADOIsBinaryOK?", gq_true },
{ "UMICHListQueue", gq_true },
{ "UMICHDeleteJob", gq_true },
{ NULL, NULL },
}
int gq_rbispoolerid(struct papfile *)
Definition queries.c:163
int gq_true(struct papfile *)
Definition queries.c:109
int gq_product(struct papfile *)
Definition queries.c:195
int gq_pagecost(struct papfile *)
Definition queries.c:119
int gq_rbiuamlist(struct papfile *)
Definition queries.c:177

◆ nouams

const char* nouams = "*\n"
static

◆ papd_uam

struct uam_obj* papd_uam = NULL
static

◆ prod

const char* prod = "*Product\n"
static

◆ psver

const char* psver = "*PSVersion\n"
static

◆ queries

struct papd_comment queries[]
Initial value:
= {
{ "%UMICHListQueue", NULL, cq_listq, C_FULL },
{ "%UMICHDeleteJob", NULL, cq_rmjob, 0 },
{ "%%?BeginQuery: RBILogin ", "%%?EndQuery", cq_rbilogin, 0 },
{ "%%?BeginQuery", "%%?EndQuery", cq_query, 0 },
{ "%%?BeginFeatureQuery", "%%?EndFeatureQuery", cq_feature, 0 },
{ "%%?BeginFontQuery", "%%?EndFontQuery", cq_font, 0 },
{ "%%?BeginFontListQuery", "%%?EndFontListQuery", cq_fontlist, 0 },
{ "%%?BeginPrinterQuery", "%%?EndPrinterQuery", cq_printer, C_FULL },
{ "%%?Begin", "%%?End", cq_default, 0 },
{ "%%EOF", NULL, cq_end, 0 },
{ NULL, NULL, NULL, 0 },
}
#define C_FULL
Definition comment.h:47
int cq_rbilogin(struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_font(struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_listq(struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_query(struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_default(struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_feature(struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_end(struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_rmjob(struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_printer(struct papfile *, struct papfile *, struct sockaddr_at *)
int cq_fontlist(struct papfile *, struct papfile *, struct sockaddr_at *)

◆ rbiloginbad

const char* rbiloginbad = "-1\r"
static

◆ rbiloginerrstr

const char* rbiloginerrstr
static
Initial value:
= "%%[Error: SecurityError; \
SecurityViolation: Unknown user, incorrect password or log on is \
disabled ]%%\r%%[Flushing: rest of job (to end-of-file) will be \
ignored ]%%\r"

◆ rbiloginok

const char* rbiloginok = "0\r"
static

◆ rmjobfailed

const char* rmjobfailed = "Failed\n"
static

◆ rmjobok

const char* rmjobok = "Ok\n"
static

◆ spoolerid

const char* spoolerid = "(PAPD Spooler) 1.0 (" VERSION ")\n"
static