0da85a0d4507d52e2f18b9f6b5d9cbbf2610575f
[reactos.git] / reactos / 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 <stdarg.h>
8 #include <stdio.h>
9 #include <windef.h>
10 #include <winbase.h>
11 #include <winreg.h>
12 #include <winsvc.h>
13
14 #include <ndk/rtlfuncs.h>
15
16 #include <atsvc_s.h>
17
18 #include <wine/debug.h>
19
20 NTSYSAPI
21 ULONG
22 NTAPI
23 RtlRandomEx(
24 PULONG Seed);
25
26 typedef struct _JOB
27 {
28 LIST_ENTRY JobEntry;
29
30 LIST_ENTRY StartEntry;
31 FILETIME StartTime;
32 WCHAR Name[9];
33
34 DWORD JobId;
35 DWORD_PTR JobTime;
36 DWORD DaysOfMonth;
37 UCHAR DaysOfWeek;
38 UCHAR Flags;
39 WCHAR Command[1];
40 } JOB, *PJOB;
41
42 #define DWORD_MAX 0xffffffffUL
43
44 extern DWORD dwNextJobId;
45 extern DWORD dwJobCount;
46
47 extern LIST_ENTRY JobListHead;
48 extern RTL_RESOURCE JobListLock;
49
50 extern LIST_ENTRY StartListHead;
51 extern RTL_RESOURCE StartListLock;
52
53
54 /* job.c */
55
56 LONG
57 SaveJob(
58 PJOB pJob);
59
60 LONG
61 DeleteJob(
62 PJOB pJob);
63
64 LONG
65 LoadJobs(VOID);
66
67 VOID
68 CalculateNextStartTime(
69 PJOB pJob);
70
71 /* rpcserver.c */
72
73 DWORD
74 WINAPI
75 RpcThreadRoutine(
76 LPVOID lpParameter);
77
78 #endif /* _SCHEDSVC_PCH_ */