summaryrefslogtreecommitdiffhomepage
path: root/include/ntapi/nt_sem.h
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2017-07-30 21:21:21 +0000
committermidipix <writeonce@midipix.org>2017-07-31 08:43:36 -0400
commit9faf9a067cfeaa786ac1784fb8bf4eece49922e9 (patch)
tree46950830693387fa1223c43445b1f1c022408c80 /include/ntapi/nt_sem.h
parent029ed17d66b232d5e8bea0b3ab543ec8331e563d (diff)
downloadntapi-9faf9a067cfeaa786ac1784fb8bf4eece49922e9.tar.bz2
ntapi-9faf9a067cfeaa786ac1784fb8bf4eece49922e9.tar.xz
subsystem interfaces: integrated sysv semaphore client-side interfaces.
Diffstat (limited to 'include/ntapi/nt_sem.h')
-rw-r--r--include/ntapi/nt_sem.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/include/ntapi/nt_sem.h b/include/ntapi/nt_sem.h
index 768007d..4b6c79b 100644
--- a/include/ntapi/nt_sem.h
+++ b/include/ntapi/nt_sem.h
@@ -63,4 +63,78 @@ typedef struct _nt_sem_op {
int16_t semflag;
} nt_sem_op;
+
+/* semaphore client interfaces */
+typedef int32_t __stdcall ntapi_sem_create(
+ __in void * hport,
+ __out nt_sem_info * sem,
+ __in uint32_t access,
+ __in nt_object_attributes * oa,
+ __out nt_iosb * iosb,
+ __in uint32_t share,
+ __in uint32_t nslots);
+
+
+typedef int32_t __stdcall ntapi_sem_open(
+ __in void * hport,
+ __out nt_sem_info * sem,
+ __in uint32_t access,
+ __in nt_object_attributes * oa,
+ __out nt_iosb * iosb,
+ __in uint32_t share,
+ __in uint32_t nslots);
+
+
+typedef int32_t __stdcall ntapi_sem_fcntl(
+ __in nt_sem_info * sem,
+ __in void * hevent __optional,
+ __in nt_io_apc_routine * apc_routine __optional,
+ __in void * apc_context __optional,
+ __out nt_iosb * iosb,
+ __in uint32_t tty_control_code,
+ __in void * input_buffer __optional,
+ __in uint32_t input_buffer_length,
+ __out void * output_buffer __optional,
+ __in uint32_t output_buffer_length);
+
+
+typedef int32_t __stdcall ntapi_sem_ioctl(
+ __in nt_sem_info * sem,
+ __in void * hevent __optional,
+ __in nt_io_apc_routine * apc_routine __optional,
+ __in void * apc_context __optional,
+ __out nt_iosb * iosb,
+ __in uint32_t ipc_control_code,
+ __in void * input_buffer __optional,
+ __in uint32_t input_buffer_length,
+ __out void * output_buffer __optional,
+ __in uint32_t output_buffer_length);
+
+
+typedef int32_t __stdcall ntapi_sem_query(
+ __in nt_sem_info * sem,
+ __out nt_io_status_block * iosb,
+ __out void * sem_info,
+ __in uint32_t sem_info_length,
+ __in int32_t sem_ipc_cmd);
+
+
+typedef int32_t __stdcall ntapi_sem_set(
+ __in nt_sem_info * sem,
+ __out nt_io_status_block * iosb,
+ __in void * sem_info,
+ __in uint32_t sem_info_length,
+ __in int32_t sem_ipc_cmd);
+
+
+typedef int32_t __stdcall ntapi_sem_cancel(
+ __in nt_sem_info * sem,
+ __out nt_iosb * iosb);
+
+
+typedef int32_t __stdcall ntapi_sem_free(
+ __in nt_sem_info * sem,
+ __out nt_iosb * iosb);
+
+
#endif