1#include "beCompat.h" 2#include "betalk.h" 3 4 5typedef struct 6{ 7 char printerName[MAX_NAME_LENGTH]; 8 char deviceName[B_FILE_NAME_LENGTH]; 9 char deviceType[MAX_NAME_LENGTH]; 10 char spoolDir[B_PATH_NAME_LENGTH]; 11 12 bool killed; 13 bool used; 14 15 bt_user_rights *rights; 16 int security; 17 18 HANDLE handlerID; 19} bt_printer; 20 21 22typedef struct 23{ 24 char jobName[MAX_DESC_LENGTH + 1]; 25 uint32 sourceAddr; 26 char sourceUser[MAX_USERNAME_LENGTH + 1]; 27 char status[MAX_DESC_LENGTH + 1]; 28} bt_print_job; 29 30 31// Although there is no maximum number of entries that can be queued for 32// printing, except as limited by available disk space, for simplicity 33// BeServed will only report on the first MAX_PRINT_JOBS in the queue. 34// This keeps the print job query from requiring repeated calls to handle 35// large volume. 36 37#define MAX_PRINT_JOBS (BT_MAX_IO_BUFFER / sizeof(bt_print_job)) 38 39int btPrintJobNew(char *printerName, char *user, char *password, int client_s_addr, char *jobName, char *jobId); 40int btPrintJobData(char *printerName, char *jobId, char *jobData, int dataLen); 41int btPrintJobCommit(char *printerName, char *jobId); 42int btPrintJobQuery(char *printerName, bt_print_job *jobList);