]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - scheduler/client.h
Load cups into easysw/current.
[thirdparty/cups.git] / scheduler / client.h
index 8f932f00970e91810fdc389fd4c3d4c2f405f788..82061b7bb793322a53a04ebd3808523b2e9bc85c 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: client.h 5069 2006-02-04 05:24:35Z mike $"
+ * "$Id: client.h 6503 2007-05-01 23:06:44Z mike $"
  *
  *   Client definitions for the Common UNIX Printing System (CUPS) scheduler.
  *
- *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
+ *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Easy Software Products and are protected by Federal
  *         WWW: http://www.cups.org
  */
 
+#ifdef HAVE_AUTHORIZATION_H
+#  include <Security/Authorization.h>
+#endif /* HAVE_AUTHORIZATION_H */
+
 /*
  * HTTP client structure...
  */
@@ -41,7 +45,8 @@ struct cupsd_client_s
                                        /* Localized URL/URI for GET/PUT */
                        *filename,      /* Filename of output file */
                        *command,       /* Command to run */
-                       *options;       /* Options for command */
+                       *options,       /* Options for command */
+                       *query_string;  /* QUERY_STRING environment variable */
   int                  file;           /* Input/output file */
   int                  file_ready;     /* Input ready on file/pipe? */
   int                  pipe_pid;       /* Pipe process ID (or 0 if not a pipe) */
@@ -55,6 +60,16 @@ struct cupsd_client_s
   http_addr_t          clientaddr;     /* Client address */
   char                 servername[256];/* Server name for connection */
   int                  serverport;     /* Server port for connection */
+#ifdef HAVE_GSSAPI
+  int                  no_negotiate;   /* Don't offer WWW-Authenticate: Negotiate */
+  gss_buffer_desc      gss_output_token;
+                                       /* Output token for Negotiate header */
+  gss_cred_id_t        gss_delegated_cred;
+                                       /* Credentials from client header */
+#endif /* HAVE_GSSAPI */
+#ifdef HAVE_AUTHORIZATION_H
+  AuthorizationRef     authref;        /* Authorization ref */
+#endif /* HAVE_AUTHORIZATION_H */
 };
 
 #define HTTP(con) &((con)->http)
@@ -104,28 +119,24 @@ extern void       cupsdAcceptClient(cupsd_listener_t *lis);
 extern void    cupsdCloseAllClients(void);
 extern int     cupsdCloseClient(cupsd_client_t *con);
 extern void    cupsdDeleteAllListeners(void);
-extern int     cupsdEncryptClient(cupsd_client_t *con);
-extern int     cupsdIsCGI(cupsd_client_t *con, const char *filename,
-                          struct stat *filestats, mime_type_t *type);
+extern int     cupsdFlushHeader(cupsd_client_t *con);
 extern void    cupsdPauseListening(void);
 extern int     cupsdProcessIPPRequest(cupsd_client_t *con);
-extern int     cupsdReadClient(cupsd_client_t *con);
+extern void    cupsdReadClient(cupsd_client_t *con);
 extern void    cupsdResumeListening(void);
 extern int     cupsdSendCommand(cupsd_client_t *con, char *command,
                                 char *options, int root);
-extern int     cupsdSendError(cupsd_client_t *con, http_status_t code);
-extern int     cupsdSendFile(cupsd_client_t *con, http_status_t code,
-                             char *filename, char *type,
-                             struct stat *filestats);
+extern int     cupsdSendError(cupsd_client_t *con, http_status_t code,
+                              int auth_type);
 extern int     cupsdSendHeader(cupsd_client_t *con, http_status_t code,
-                               char *type);
+                               char *type, int auth_type);
 extern void    cupsdShutdownClient(cupsd_client_t *con);
 extern void    cupsdStartListening(void);
 extern void    cupsdStopListening(void);
 extern void    cupsdUpdateCGI(void);
-extern int     cupsdWriteClient(cupsd_client_t *con);
+extern void    cupsdWriteClient(cupsd_client_t *con);
 
 
 /*
- * End of "$Id: client.h 5069 2006-02-04 05:24:35Z mike $".
+ * End of "$Id: client.h 6503 2007-05-01 23:06:44Z mike $".
  */