summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
Diffstat (limited to 'source4')
-rw-r--r--source4/librpc/idl/spoolss.idl74
1 files changed, 52 insertions, 22 deletions
diff --git a/source4/librpc/idl/spoolss.idl b/source4/librpc/idl/spoolss.idl
index 2560a10524..94863fcf20 100644
--- a/source4/librpc/idl/spoolss.idl
+++ b/source4/librpc/idl/spoolss.idl
@@ -293,24 +293,6 @@
/******************/
/* Function: 0x02 */
- WERROR spoolss_SetJob(
- [in,ref] policy_handle *handle,
- [in] uint32 job_id,
- [in] uint32 level,
- [in] uint32 command
- );
-
- /******************/
- /* Function: 0x03 */
- WERROR spoolss_GetJob(
- [in,ref] policy_handle *handle,
- [in] uint32 job_id,
- [in] uint32 level,
- [in] DATA_BLOB *buffer,
- [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info,
- [in,out,ref] uint32 *buf_size
- );
-
typedef struct {
uint32 job_id;
[relative] nstring *printer_name;
@@ -334,6 +316,39 @@
[default];
} spoolss_JobInfo;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] spoolss_JobInfo info;
+ } spoolss_JobInfoContainer;
+
+ typedef [v1_enum] enum {
+ SPOOLSS_JOB_CONTROL_PAUSE = 1,
+ SPOOLSS_JOB_CONTROL_RESUME = 2,
+ SPOOLSS_JOB_CONTROL_CANCEL = 3,
+ SPOOLSS_JOB_CONTROL_RESTART = 4,
+ SPOOLSS_JOB_CONTROL_DELETE = 5,
+ SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER = 6,
+ SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED = 7
+ } spoolss_JobControl;
+
+ WERROR spoolss_SetJob(
+ [in,ref] policy_handle *handle,
+ [in] uint32 job_id,
+ [in] spoolss_JobInfoContainer *ctr,
+ [in] spoolss_JobControl command
+ );
+
+ /******************/
+ /* Function: 0x03 */
+ WERROR spoolss_GetJob(
+ [in,ref] policy_handle *handle,
+ [in] uint32 job_id,
+ [in] uint32 level,
+ [in] DATA_BLOB *buffer,
+ [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info,
+ [in,out,ref] uint32 *buf_size
+ );
+
/******************/
/* Function: 0x04 */
[public,noopnum,noprint] WERROR _spoolss_EnumJobs(
@@ -373,6 +388,8 @@
WERROR spoolss_DeletePrinter(
);
+ /******************/
+ /* Function: 0x07 */
typedef [v1_enum] enum {
SPOOLSS_PRINTER_CONTROL_UNPAUSE = 0,
SPOOLSS_PRINTER_CONTROL_PAUSE = 1,
@@ -381,8 +398,6 @@
SPOOLSS_PRINTER_CONTROL_SET_STATUS = 4
} spoolss_PrinterControl;
- /******************/
- /* Function: 0x07 */
typedef [switch_type(uint32)] union {
[case(0)] spoolss_PrinterInfo0 *info0;
[case(1)] spoolss_PrinterInfo1 *info1;
@@ -605,13 +620,27 @@
/******************/
/* Function: 0x11 */
+ typedef struct {
+ unistr *document_name;
+ unistr *output_file;
+ unistr *datatype;
+ } spoolss_DocumentInfo1;
+
+ typedef [switch_type(uint32)] union {
+ [case(1)] spoolss_DocumentInfo1 info1;
+ } spoolss_DocumentInfo;
+
WERROR spoolss_StartDocPrinter(
+ [in,ref] policy_handle *handle,
+ [in] uint32 level,
+ [in,switch_is(level)] spoolss_DocumentInfo info,
+ [out] uint32 job_id
);
/******************/
/* Function: 0x12 */
WERROR spoolss_StartPagePrinter(
- [in,ref] policy_handle *handle
+ [in,ref] policy_handle *handle
);
/******************/
@@ -622,7 +651,7 @@
/******************/
/* Function: 0x14 */
WERROR spoolss_EndPagePrinter(
- [in,ref] policy_handle *handle
+ [in,ref] policy_handle *handle
);
/******************/
@@ -638,6 +667,7 @@
/******************/
/* Function: 0x17 */
WERROR spoolss_EndDocPrinter(
+ [in,ref] policy_handle *handle
);
/******************/