2003-11-20 06:27:56 +03:00
/*
atsvc interface definition
*/
2004-10-27 08:48:41 +04:00
[ uuid("1ff70682-0a51-30e8-076d-740be8cee98b"),
2003-11-20 06:27:56 +03:00
version(1.0),
2004-08-16 23:03:22 +04:00
pointer_default(unique),
2005-08-24 15:17:28 +04:00
helpstring("Microsoft AT-Scheduler Service"),
2006-05-21 19:02:01 +04:00
endpoint("ncacn_np:[\\pipe\\atsvc]", "ncalrpc:")
2003-11-20 06:27:56 +03:00
] interface atsvc
{
2005-08-06 03:49:08 +04:00
typedef [bitmap32bit] bitmap {
2005-08-24 02:28:36 +04:00
First = 0x00000001,
Second = 0x00000002,
Third = 0x00000004,
Fourth = 0x00000008,
Fifth = 0x00000010,
Sixth = 0x00000020,
Seventh = 0x00000040,
Eight = 0x00000080,
Ninth = 0x00000100,
Tenth = 0x00000200,
Eleventh = 0x00000400,
Twelfth = 0x00000800,
2005-08-06 03:49:08 +04:00
Thitteenth = 0x00001000,
Fourteenth = 0x00002000,
Fifteenth = 0x00004000,
Sixteenth = 0x00008000,
Seventeenth = 0x00010000,
Eighteenth = 0x00020000,
Ninteenth = 0x00040000,
Twentyth = 0x00080000,
Twentyfirst = 0x00100000,
Twentysecond = 0x00200000,
Twentythird = 0x00400000,
Twentyfourth = 0x00800000,
Twentyfifth = 0x01000000,
Twentysixth = 0x02000000,
Twentyseventh = 0x04000000,
Twentyeighth = 0x08000000,
Twentyninth = 0x10000000,
Thirtieth = 0x20000000,
Thirtyfirst = 0x40000000
} atsvc_DaysOfMonth;
typedef [bitmap8bit] bitmap {
JOB_RUN_PERIODICALLY = 0x01,
JOB_EXEC_ERROR = 0x02,
JOB_RUNS_TODAY = 0x04,
JOB_ADD_CURRENT_DATE = 0x08,
JOB_NONINTERACTIVE = 0x10
} atsvc_Flags;
typedef [bitmap8bit] bitmap {
2005-08-24 02:28:36 +04:00
DAYSOFWEEK_MONDAY = 0x01,
DAYSOFWEEK_TUESDAY = 0x02,
2005-08-06 03:49:08 +04:00
DAYSOFWEEK_WEDNESDAY = 0x04,
2005-08-24 02:28:36 +04:00
DAYSOFWEEK_THURSDAY = 0x08,
DAYSOFWEEK_FRIDAY = 0x10,
DAYSOFWEEK_SATURDAY = 0x20,
DAYSOFWEEK_SUNDAY = 0x40
2005-08-06 03:49:08 +04:00
} atsvc_DaysOfWeek;
2003-11-20 06:27:56 +03:00
typedef struct {
uint32 job_time;
2005-08-06 03:49:08 +04:00
atsvc_DaysOfMonth days_of_month;
atsvc_DaysOfWeek days_of_week;
2005-08-06 05:54:55 +04:00
atsvc_Flags flags;
2005-10-16 21:17:57 +04:00
[string,charset(UTF16)] uint16 *command;
2003-11-20 06:27:56 +03:00
} atsvc_JobInfo;
/******************/
/* Function: 0x00 */
2007-02-16 00:06:33 +03:00
[public] NTSTATUS atsvc_JobAdd(
2005-10-16 21:17:57 +04:00
[in,unique,string,charset(UTF16)] uint16 *servername,
2006-05-21 19:02:01 +04:00
[in] atsvc_JobInfo *job_info,
2006-11-22 17:56:40 +03:00
[out,ref] uint32 *job_id
2003-11-20 06:27:56 +03:00
);
/******************/
/* Function: 0x01 */
2007-02-16 00:06:33 +03:00
[public] NTSTATUS atsvc_JobDel(
2005-10-16 21:17:57 +04:00
[in,unique,string,charset(UTF16)] uint16 *servername,
2003-11-20 06:27:56 +03:00
[in] uint32 min_job_id,
[in] uint32 max_job_id
);
typedef struct {
uint32 job_id;
uint32 job_time;
2005-08-06 03:49:08 +04:00
atsvc_DaysOfMonth days_of_month;
atsvc_DaysOfWeek days_of_week;
2005-08-06 05:54:55 +04:00
atsvc_Flags flags;
2005-10-16 21:17:57 +04:00
[string,charset(UTF16)] uint16 *command;
2003-11-20 06:27:56 +03:00
} atsvc_JobEnumInfo;
typedef struct {
uint32 entries_read;
r6973: Merge new version of pidl into the main SAMBA_4_0 branch.
The main difference in this new version is the extra data structure generated
between the IDL data structure and the NDR parser:
IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc }
This makes the ndr_parser.pm internals much more sane.
Other changes include:
- Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags.
- Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc..
- Use if() {} rather then if () goto foo; everywhere
- NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC
- By default, top level pointers are now "ref" (as is the default in
most other IDL compilers). This can be overridden using the
default_pointer_top() property.
- initial work on new ethereal parser generators by Alan DeKok and me
- pidl now writes errors in the standard format used by compilers, which
is parsable by most editors
- ability to warn about the fact that pidl extension(s) have been used,
useful for making sure IDL files work with other IDL compilers.
oh, and there's probably some other things I can't think of right now..
(This used to be commit 13cf227615f6b9e0e5fa62e59197024410254f01)
2005-05-25 17:50:27 +04:00
[size_is(entries_read)] atsvc_JobEnumInfo *first_entry;
2003-11-20 06:27:56 +03:00
} atsvc_enum_ctr;
/******************/
/* Function: 0x02 */
2007-02-16 00:06:33 +03:00
[public] NTSTATUS atsvc_JobEnum(
2005-10-16 21:17:57 +04:00
[in,unique,string,charset(UTF16)] uint16 *servername,
2005-10-16 19:47:28 +04:00
[in,out] atsvc_enum_ctr *ctr,
2003-11-20 06:27:56 +03:00
[in] uint32 preferred_max_len,
2006-11-22 17:56:40 +03:00
[out,ref] uint32 *total_entries,
2005-10-16 19:47:28 +04:00
[in,out,unique] uint32 *resume_handle
2003-11-20 06:27:56 +03:00
);
/******************/
/* Function: 0x03 */
2003-11-28 06:47:45 +03:00
[public] NTSTATUS atsvc_JobGetInfo(
2005-10-16 21:17:57 +04:00
[in,unique,string,charset(UTF16)] uint16 *servername,
2003-11-20 06:27:56 +03:00
[in] uint32 job_id,
2006-11-22 17:56:40 +03:00
[out] atsvc_JobInfo **job_info
2003-11-20 06:27:56 +03:00
);
}