spoolss: add IDL for spoolss_LogJobInfoForBranchOffice.
authorGünther Deschner <gd@samba.org>
Tue, 23 Aug 2016 10:28:53 +0000 (12:28 +0200)
committerJeremy Allison <jra@samba.org>
Sun, 11 Sep 2016 17:57:25 +0000 (19:57 +0200)
Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
librpc/idl/spoolss.idl
source3/rpc_server/spoolss/srv_spoolss_nt.c

index ae10917ce7953f07fb27c4f1054986b0b4413c50..c9d9b36846040e02f878cfa32235bfe80d77cc4d 100644 (file)
@@ -3413,4 +3413,101 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor")
                [out,ref] uint32 *pcProperties,
                [out,ref,size_is(,*pcProperties)] RPC_PrintNamedProperty **ppProperties
        );
+
+       /******************/
+       /* Function: 0x72 */
+       [todo] WERROR spoolss_72(
+       );
+
+       /******************/
+       /* Function: 0x73 */
+       [todo] WERROR spoolss_73(
+       );
+
+       /******************/
+       /* Function: 0x71 */
+       typedef enum {
+               kInvalidJobState = 0,
+               kLogJobPrinted = 1,
+               kLogJobRendered = 2,
+               kLogJobError = 3,
+               kLogJobPipelineError = 4,
+               kLogOfflineFileFull = 5
+       } EBranchOfficeJobEventType;
+
+       typedef struct {
+               DWORD Status;
+               [string,charset(UTF16)] uint16 *pDocumentName;
+               [string,charset(UTF16)] uint16 *pUserName;
+               [string,charset(UTF16)] uint16 *pMachineName;
+               [string,charset(UTF16)] uint16 *pPrinterName;
+               [string,charset(UTF16)] uint16 *pPortName;
+               hyper Size;
+               DWORD TotalPages;
+       } spoolss_BranchOfficeJobDataPrinted;
+
+       typedef struct {
+               hyper Size;
+               DWORD ICMMethod;
+               short Color;
+               short PrintQuality;
+               short YResolution;
+               short Copies;
+               short TTOption;
+       } spoolss_BranchOfficeJobDataRendered;
+
+       typedef struct {
+               WERROR LastError;
+               [string,charset(UTF16)] uint16 *pDocumentName;
+               [string,charset(UTF16)] uint16 *pUserName;
+               [string,charset(UTF16)] uint16 *pPrinterName;
+               [string,charset(UTF16)] uint16 *pDataType;
+               hyper TotalSize;
+               hyper PrintedSize;
+               DWORD TotalPages;
+               DWORD PrintedPages;
+               [string,charset(UTF16)] uint16 *pMachineName;
+               [string,charset(UTF16)] uint16 *pJobError;
+               [string,charset(UTF16)] uint16 *pErrorDescription;
+       } spoolss_BranchOfficeJobDataError;
+
+       typedef struct {
+               [string,charset(UTF16)] uint16 *pDocumentName;
+               [string,charset(UTF16)] uint16 *pPrinterName;
+               [string,charset(UTF16)] uint16 *pExtraErrorInfo;
+       } spoolss_BranchOfficeJobDataPipelineFailed;
+
+       typedef struct {
+               [string,charset(UTF16)] uint16 *pMachineName;
+       } spoolss_BranchOfficeLogOfflineFileFull;
+
+       typedef [ms_union,switch_type(EBranchOfficeJobEventType)] union {
+               [case(kLogJobPrinted)]
+                       spoolss_BranchOfficeJobDataPrinted LogJobPrinted;
+               [case(kLogJobRendered)]
+                       spoolss_BranchOfficeJobDataRendered LogJobRendered;
+               [case(kLogJobError)]
+                       spoolss_BranchOfficeJobDataError LogJobError;
+               [case(kLogJobPipelineError)]
+                       spoolss_BranchOfficeJobDataPipelineFailed LogPipelineFailed;
+               [case(kLogOfflineFileFull)]
+                       spoolss_BranchOfficeLogOfflineFileFull LogOfflineFileFull;
+       } spoolss_BranchOfficeJobInfo;
+
+       typedef struct {
+               EBranchOfficeJobEventType eEventType;
+               DWORD JobId;
+               [switch_is(eEventType)] spoolss_BranchOfficeJobInfo JobInfo;
+       } spoolss_BranchOfficeJobData;
+
+       typedef struct {
+               DWORD cJobDataEntries;
+               [size_is(cJobDataEntries)] spoolss_BranchOfficeJobData JobData[];
+       } spoolss_BranchOfficeJobDataContainer;
+
+       WERROR spoolss_LogJobInfoForBranchOffice(
+               [in,ref] policy_handle *hPrinter,
+               [in,ref] spoolss_BranchOfficeJobDataContainer *pBranchOfficeJobDataContainer
+       );
+
 }
index 7413d9d4ccc2e353a1da484dd6bf3dac23b2376c..5a8328c24bc4ac014e6ab715fa4e50f09a8cae5f 100644 (file)
@@ -11303,3 +11303,36 @@ WERROR _spoolss_RpcEnumJobNamedProperties(struct pipes_struct *p,
        p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
        return WERR_NOT_SUPPORTED;
 }
+
+/****************************************************************
+ _spoolss_72
+****************************************************************/
+
+WERROR _spoolss_72(struct pipes_struct *p,
+                  struct spoolss_72 *r)
+{
+       p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
+       return WERR_NOT_SUPPORTED;
+}
+
+/****************************************************************
+ _spoolss_73
+****************************************************************/
+
+WERROR _spoolss_73(struct pipes_struct *p,
+                  struct spoolss_73 *r)
+{
+       p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
+       return WERR_NOT_SUPPORTED;
+}
+
+/****************************************************************
+ _spoolss_RpcLogJobInfoForBranchOffice
+****************************************************************/
+
+WERROR _spoolss_LogJobInfoForBranchOffice(struct pipes_struct *p,
+                                         struct spoolss_LogJobInfoForBranchOffice *r)
+{
+       p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
+       return WERR_NOT_SUPPORTED;
+}