0f65514565356f1a2a48a096d035936ae8e519f2
[reactos.git] / reactos / ntoskrnl / nt / ntsem.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: ntoskrnl/nt/ntsem.c
5 * PURPOSE: Synchronization primitives
6 * PROGRAMMER: David Welch (welch@mcmail.com)
7 * UPDATE HISTORY:
8 * Created 22/05/98
9 */
10
11 /* INCLUDES *****************************************************************/
12
13 #include <ddk/ntddk.h>
14
15 #include <internal/debug.h>
16
17 /* FUNCTIONS *****************************************************************/
18
19 NTSTATUS STDCALL NtCreateSemaphore(OUT PHANDLE SemaphoreHandle,
20 IN ACCESS_MASK DesiredAccess,
21 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
22 IN ULONG InitialCount,
23 IN ULONG MaximumCount)
24 {
25 return(ZwCreateSemaphore(SemaphoreHandle,
26 DesiredAccess,
27 ObjectAttributes,
28 InitialCount,
29 MaximumCount));
30 }
31
32 NTSTATUS STDCALL ZwCreateSemaphore(OUT PHANDLE SemaphoreHandle,
33 IN ACCESS_MASK DesiredAccess,
34 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
35 IN ULONG InitialCount,
36 IN ULONG MaximumCount)
37 {
38 UNIMPLEMENTED;
39 }
40
41
42 NTSTATUS STDCALL NtOpenSemaphore(IN HANDLE SemaphoreHandle,
43 IN ACCESS_MASK DesiredAccess,
44 IN POBJECT_ATTRIBUTES ObjectAttributes)
45 {
46 return(ZwOpenSemaphore(SemaphoreHandle,
47 DesiredAccess,
48 ObjectAttributes));
49 }
50
51 NTSTATUS STDCALL ZwOpenSemaphore(IN HANDLE SemaphoreHandle,
52 IN ACCESS_MASK DesiredAccess,
53 IN POBJECT_ATTRIBUTES ObjectAttributes)
54 {
55 UNIMPLEMENTED;
56 }
57
58 NTSTATUS STDCALL NtQuerySemaphore(HANDLE SemaphoreHandle,
59 CINT SemaphoreInformationClass,
60 OUT PVOID SemaphoreInformation,
61 ULONG Length,
62 PULONG ReturnLength)
63 {
64 return(ZwQuerySemaphore(SemaphoreHandle,
65 SemaphoreInformationClass,
66 SemaphoreInformation,
67 Length,
68 ReturnLength));
69 }
70
71 NTSTATUS STDCALL ZwQuerySemaphore(HANDLE SemaphoreHandle,
72 CINT SemaphoreInformationClass,
73 OUT PVOID SemaphoreInformation,
74 ULONG Length,
75 PULONG ReturnLength)
76 {
77 UNIMPLEMENTED;
78 }
79
80 NTSTATUS STDCALL NtReleaseSemaphore(IN HANDLE SemaphoreHandle,
81 IN ULONG ReleaseCount,
82 IN PULONG PreviousCount)
83 {
84 return(ZwReleaseSemaphore(SemaphoreHandle,
85 ReleaseCount,
86 PreviousCount));
87 }
88
89 NTSTATUS STDCALL ZwReleaseSemaphore(IN HANDLE SemaphoreHandle,
90 IN ULONG ReleaseCount,
91 IN PULONG PreviousCount)
92 {
93 UNIMPLEMENTED;
94 }