r6973: Merge new version of pidl into the main SAMBA_4_0 branch.
[samba.git] / source / librpc / idl / atsvc.idl
1 /*
2   atsvc interface definition
3 */
4
5 #include "idl_types.h"
6
7 [ uuid("1ff70682-0a51-30e8-076d-740be8cee98b"),
8   version(1.0),
9   pointer_default(unique),
10   pointer_default_top(unique),
11   helpstring("Queue/List/Remove jobs for later execution"),
12   endpoint("ncacn_np:[\\pipe\\atsvc]", "ncalrpc:")
13 ] interface atsvc
14 {
15         typedef struct {
16                 uint32 job_time;
17                 uint32 days_of_month;
18                 uint8 days_of_week;
19                 uint8 flags;
20                 unistr *command;
21         } atsvc_JobInfo;
22
23         /******************/
24         /* Function: 0x00 */
25         NTSTATUS atsvc_JobAdd(
26                 [in]     unistr *servername,
27                 [in,ref] atsvc_JobInfo *job_info,
28                 [out]    uint32 job_id
29         );
30
31         /******************/
32         /* Function: 0x01 */
33         NTSTATUS atsvc_JobDel(
34                 [in]    unistr *servername,
35                 [in]    uint32 min_job_id,
36                 [in]    uint32 max_job_id
37         );
38
39         typedef struct {
40                 uint32 job_id;
41                 uint32 job_time;
42                 uint32 days_of_month;
43                 uint8 days_of_week;
44                 uint8 flags;
45                 unistr *command;
46         } atsvc_JobEnumInfo;
47
48         typedef struct {
49                 uint32 entries_read;
50                 [size_is(entries_read)] atsvc_JobEnumInfo *first_entry;
51         } atsvc_enum_ctr;
52
53         /******************/
54         /* Function: 0x02 */
55         NTSTATUS atsvc_JobEnum(
56                 [in]         unistr *servername,
57                 [in,out,ref] atsvc_enum_ctr *ctr,
58                 [in]         uint32 preferred_max_len,
59                 [out]        uint32 total_entries,
60                 [in,out]     uint32 *resume_handle
61         );
62
63         /******************/
64         /* Function: 0x03 */
65         [public] NTSTATUS atsvc_JobGetInfo(
66                 [in]    unistr *servername,
67                 [in]    uint32 job_id,
68                 [out]   atsvc_JobInfo *job_info
69         );
70 }