[SHELL32] SHChangeNotify: Add drive, remove drive (#6782)
[reactos.git] / base / services / schedsvc / precomp.h
1 #ifndef _SCHEDSVC_PCH_
2 #define _SCHEDSVC_PCH_
3
4 #define WIN32_NO_STATUS
5 #define _INC_WINDOWS
6 #define COM_NO_WINDOWS_H
7 #include <limits.h>
8 #include <stdarg.h>
9 #include <stdio.h>
10 #include <windef.h>
11 #include <winbase.h>
12 #include <winreg.h>
13 #include <winsvc.h>
14 #include <winuser.h>
15 #include <undocuser.h>
16
17 #include <ndk/rtlfuncs.h>
18
19 #include <atsvc_s.h>
20
21 #include <wine/debug.h>
22
23 #define JOB_NAME_LENGTH 9
24
25 NTSYSAPI
26 ULONG
27 NTAPI
28 RtlRandomEx(
29 PULONG Seed);
30
31 typedef struct _JOB
32 {
33 LIST_ENTRY JobEntry;
34
35 LIST_ENTRY StartEntry;
36 ULARGE_INTEGER StartTime;
37 WCHAR Name[JOB_NAME_LENGTH];
38
39 DWORD JobId;
40 DWORD_PTR JobTime;
41 DWORD DaysOfMonth;
42 UCHAR DaysOfWeek;
43 UCHAR Flags;
44 WCHAR Command[1];
45 } JOB, *PJOB;
46
47
48 extern DWORD dwNextJobId;
49 extern DWORD dwJobCount;
50
51 extern LIST_ENTRY JobListHead;
52 extern RTL_RESOURCE JobListLock;
53
54 extern LIST_ENTRY StartListHead;
55 extern RTL_RESOURCE StartListLock;
56
57 extern HANDLE Events[2];
58
59
60 /* job.c */
61
62 DWORD
63 GetNextJobTimeout(VOID);
64
65 VOID
66 RunNextJob(VOID);
67
68 LONG
69 SaveJob(
70 PJOB pJob);
71
72 LONG
73 DeleteJob(
74 PJOB pJob);
75
76 LONG
77 LoadJobs(VOID);
78
79 VOID
80 CalculateNextStartTime(
81 _In_ PJOB pJob);
82
83 VOID
84 InsertJobIntoStartList(
85 _In_ PLIST_ENTRY StartListHead,
86 _In_ PJOB pJob);
87
88 VOID
89 DumpStartList(
90 _In_ PLIST_ENTRY StartListHead);
91
92
93 /* rpcserver.c */
94
95 DWORD
96 WINAPI
97 RpcThreadRoutine(
98 LPVOID lpParameter);
99
100 #endif /* _SCHEDSVC_PCH_ */