diff options
author | midipix <writeonce@midipix.org> | 2017-07-30 21:21:21 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2017-07-31 08:43:36 -0400 |
commit | 9faf9a067cfeaa786ac1784fb8bf4eece49922e9 (patch) | |
tree | 46950830693387fa1223c43445b1f1c022408c80 /include/ntapi/nt_sem.h | |
parent | 029ed17d66b232d5e8bea0b3ab543ec8331e563d (diff) | |
download | ntapi-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.h | 74 |
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 |