r6247: added the server side code for receiving mailslot requests, and
[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   helpstring("Queue/List/Remove jobs for later execution"),
11   endpoint("ncacn_np:[\\pipe\\atsvc]", "ncalrpc:")
12 ] interface atsvc
13 {
14         typedef struct {
15                 uint32 job_time;
16                 uint32 days_of_month;
17                 uint8 days_of_week;
18                 uint8 flags;
19                 unistr *command;
20         } atsvc_JobInfo;
21
22         /******************/
23         /* Function: 0x00 */
24         NTSTATUS atsvc_JobAdd(
25                 [in]     unistr *servername,
26                 [in,ref] atsvc_JobInfo *job_info,
27                 [out]    uint32 job_id
28         );
29
30         /******************/
31         /* Function: 0x01 */
32         NTSTATUS atsvc_JobDel(
33                 [in]    unistr *servername,
34                 [in]    uint32 min_job_id,
35                 [in]    uint32 max_job_id
36         );
37
38         typedef struct {
39                 uint32 job_id;
40                 uint32 job_time;
41                 uint32 days_of_month;
42                 uint8 days_of_week;
43                 uint8 flags;
44                 unistr *command;
45         } atsvc_JobEnumInfo;
46
47         typedef struct {
48                 uint32 entries_read;
49                 [size_is(entries_read)] atsvc_JobEnumInfo *first_entry[];
50         } atsvc_enum_ctr;
51
52         /******************/
53         /* Function: 0x02 */
54         NTSTATUS atsvc_JobEnum(
55                 [in]         unistr *servername,
56                 [in,out,ref] atsvc_enum_ctr *ctr,
57                 [in]         uint32 preferred_max_len,
58                 [out]        uint32 total_entries,
59                 [in,out]     uint32 *resume_handle
60         );
61
62         /******************/
63         /* Function: 0x03 */
64         [public] NTSTATUS atsvc_JobGetInfo(
65                 [in]    unistr *servername,
66                 [in]    uint32 job_id,
67                 [out]   atsvc_JobInfo *job_info
68         );
69 }