⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 print.h

📁 UNIX环境高级编程书的源代码
💻 H
字号:
#ifndef _PRINT_H#define _PRINT_H/* * Print server header file. */#include <sys/socket.h>#include <arpa/inet.h>#if defined(BSD) || defined(MACOS)#include <netinet/in.h>#endif#include <netdb.h>#include <errno.h>#define CONFIG_FILE    "/etc/printer.conf"#define SPOOLDIR       "/var/spool/printer"#define JOBFILE        "jobno"#define DATADIR        "data"#define REQDIR         "reqs"#define FILENMSZ        64#define FILEPERM        (S_IRUSR|S_IWUSR)#define USERNM_MAX      64#define JOBNM_MAX       256#define MSGLEN_MAX      512#ifndef HOST_NAME_MAX#define HOST_NAME_MAX   256#endif#define IPP_PORT        631#define QLEN            10#define IBUFSZ          512	/* IPP header buffer size */#define HBUFSZ          512	/* HTTP header buffer size */#define IOBUFSZ         8192	/* data buffer size */#ifndef ETIME#define ETIME ETIMEDOUT#endifextern int getaddrlist(const char *, const char *,  struct addrinfo **);extern char *get_printserver(void);extern struct addrinfo *get_printaddr(void);extern ssize_t tread(int, void *, size_t, unsigned int);extern ssize_t treadn(int, void *, size_t, unsigned int);extern int connect_retry(int, const struct sockaddr *, socklen_t);extern int initserver(int, struct sockaddr *, socklen_t, int);/* * Structure describing a print request. */struct printreq {	long size;					/* size in bytes */	long flags;					/* see below */	char usernm[USERNM_MAX];	/* user's name */	char jobnm[JOBNM_MAX];		/* job's name */};/* * Request flags. */#define PR_TEXT		0x01	/* treat file as plain text *//* * The response from the spooling daemon to the print command. */struct printresp {	long retcode;				/* 0=success, !0=error code */	long jobid;					/* job ID */	char msg[MSGLEN_MAX];		/* error message */};#endif /* _PRINT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -