xref: /netbsd-src/external/gpl3/gcc/dist/libphobos/libdruntime/core/sys/windows/lmat.d (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7  * Source: $(DRUNTIMESRC core/sys/windows/_lmat.d)
8  */
9 module core.sys.windows.lmat;
10 version (Windows):
11 @system:
12 pragma(lib, "netapi32");
13 
14 import core.sys.windows.lmcons, core.sys.windows.windef;
15 
16 enum JOB_RUN_PERIODICALLY = 1;
17 enum JOB_EXEC_ERROR       = 2;
18 enum JOB_RUNS_TODAY       = 4;
19 enum JOB_ADD_CURRENT_DATE = 8;
20 enum JOB_NONINTERACTIVE   = 16;
21 enum JOB_INPUT_FLAGS      = JOB_RUN_PERIODICALLY | JOB_ADD_CURRENT_DATE
22                              | JOB_NONINTERACTIVE;
23 enum JOB_OUTPUT_FLAGS     = JOB_RUN_PERIODICALLY | JOB_EXEC_ERROR
24                              | JOB_RUNS_TODAY | JOB_NONINTERACTIVE;
25 
26 struct AT_ENUM {
27     DWORD JobId;
28     DWORD_PTR JobTime;
29     DWORD DaysOfMonth;
30     UCHAR DaysOfWeek;
31     UCHAR Flags;
32     LPWSTR Command;
33 }
34 alias AT_ENUM* PAT_ENUM, LPAT_ENUM;
35 
36 struct AT_INFO {
37     DWORD_PTR JobTime;
38     DWORD DaysOfMonth;
39     UCHAR DaysOfWeek;
40     UCHAR Flags;
41     LPWSTR Command;
42 }
43 alias AT_INFO* PAT_INFO, LPAT_INFO;
44 
45 extern (Windows) {
46     NET_API_STATUS NetScheduleJobAdd(LPWSTR, PBYTE, LPDWORD);
47     NET_API_STATUS NetScheduleJobDel(LPWSTR, DWORD, DWORD);
48     NET_API_STATUS NetScheduleJobEnum(LPWSTR, PBYTE*, DWORD, PDWORD, PDWORD,
49       PDWORD);
50     NET_API_STATUS NetScheduleJobGetInfo(LPWSTR, DWORD, PBYTE*);
51 }
52