summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-08-18__ntapi_ipc_create_pipe(): refine, change polling strategy.midipix2-20/+18
The canonical way of polling an i/o handle by requesting a zero-byte read/write operation and then waiting on the event (or apc routine) that was specified for that i/o operation fails to work on the writing end of a byte-stream pipe. Specifically, the request completes immediately, therefore not allowing us to employ it for a controlled poll operation. Following this patch, the writing end of the pipe is opened with the NT_FILE_SYNCHRONOUS_IO_ALERT flag set. With this flag set, zero-byte writes block, which makes them perfectly suitable for a polling operation, but less so for non-blocking i/o. With some effort, however, the latter can be achieved and be both robust and reliable.
2017-08-06primary token: enable symlink creation capabilities by default.midipix1-0/+4
2017-08-04subsystem interfaces: added server-to-server synchronization interfaces.midipix6-14/+247
2017-08-04__tt_port_attr_from_name(): properly initialize attr->type.midipix1-0/+4
2017-08-04__ipc_connect_by_attr(): return section-related info in the _by_port code path.midipix1-5/+2
2017-08-01__ntapi_tt_fork(): fixed typo in legacy OS code path.midipix1-1/+1
2017-07-31subsystem interfaces: integrated sysv semaphore client-side interfaces.midipix8-0/+823
2017-07-31subsystem interfaces: integrated __ntapi_tty_client_session_disconnect().midipix3-0/+40
2017-07-31subsystem interfaces: session creation: set ppid_type and co. with server chain.midipix1-0/+19
2017-07-31subsystem interfaces: session creation: use srv_type and co. more elegantly.midipix1-9/+5
2017-07-31subsystem interfaces: integrated ipc connection section handlers.midipix4-14/+265
2017-07-31subsystem interfaces: integrated ipc connection handlers.midipix5-2/+317
2017-07-31subsystem interfaces: integrated __ntapi_tty_query_information_service().midipix3-0/+57
2017-07-31subsystem interfaces: set port type from guid when creating a server instance.midipix1-3/+12
2017-07-31subsystem interfaces: normalized port name helper functions.midipix5-5/+5
2017-07-31subsystem interfaces: integrated extended port name helper functions.midipix3-0/+150
2017-07-31subsystem interfaces: ipc object guid parameter is always a const.midipix2-6/+6
2017-07-31subsystem interfaces: integrated ipc object directory handlers.midipix3-1/+98
2017-07-31subsystem interfaces: integrated sysv semaphore definitions.midipix1-2/+6
2017-07-31__ntapi_blt_alloc(): properly support user-provided block array regions.midipix1-1/+4
2017-07-31string to hex, hex to string: pre-alpha api normalization.midipix3-14/+14
2017-07-31__ntapi_tt_string_to_guid_utf16(): support outer dashes and outer underscores.midipix1-4/+16
2017-07-31__ntapi_tty_create_session(): use the proper 'server ready' event type.midipix1-1/+1
2017-07-31__ntapi_tty_create_session(): properly set the server's runtime abi.midipix1-0/+4
2017-02-04update code following libpemagine's pre-alpha API update.midipix1-1/+1
2017-02-04annual chores.midipix115-115/+115
2017-02-02added crc64 definitions and interfaces.midipix3-0/+60
2017-01-29{i}stat{fs} interfaces(): hold the operating system's hand as needed.midipix3-0/+12
2017-01-28__ntapi_tt_open_physical_parent_directory(): whitespace meditation.midipix1-8/+8
2017-01-28__ntapi_tt_open_physical_parent_directory(): properly handle \Device\Mup.midipix1-5/+28
2017-01-28__ntapi_tt_create_native_process(): rtdata: provide a uniform command line.midipix2-112/+89
2017-01-26guid <--> string conversion functions: normalized interfaces.midipix8-13/+13
2017-01-19__ntapi_tt_get_peb_env_block_utf16(): rewrite more elegantly.midipix1-7/+4
2017-01-19__ntapi_tt_get_cmd_line_utf16(): rewrite more elegantly.midipix1-9/+4
2017-01-19__ntapi_tt_get_runtime_data(): integral process: guard against false positives.midipix2-1/+12
2017-01-19__ntapi_tt_get_runtime_data(): simplify logic, check align. at page boundary.midipix1-11/+17
2017-01-18ntapi_tt_open_{physical|logical}_parent_directory: added 'reserved' param.midipix2-2/+7
2017-01-18__ntapi_tt_open_logical_parent_directory(): updated stub return value.midipix1-1/+1
2017-01-18ntapi_tt_open_logical_parent_directory(): added inheritance and share params.midipix1-0/+4
2017-01-18ntapi_tt_open_logical_parent_directory(): removed 'type' param (not needed).midipix1-3/+1
2017-01-18ntapi_tt_open_physical_parent_directory(): added inheritance and share params.midipix1-4/+5
2017-01-18ntapi_tt_open_physical_parent_directory(): removed 'type' param (not needed).midipix1-4/+1
2017-01-17struct nt_runtime_data: update for the benefit of the framework loader impl.midipix1-3/+3
2017-01-16__ntapi_dsr_start_impl(): copy the loop routine addr and ctx onto the stack.midipix1-2/+4
Since params might point to an address on the stack of the thread which called __ntapi_dsr_init(), and given that __ntapi_dsr_init() returns as soon as the internal client connection had been established, we may not access params upon return from __ntapi_dsr_connect_internal_client().
2017-01-16daemon initialization: establish SEH frames for the daemon and internal thread.midipix5-3/+84
2017-01-08ntapi_tty_create_session(): removed hard-coded fallback image name.midipix1-15/+4
2017-01-07daemon initialization: simplified logic, fixed params-related race hazard.midipix2-47/+53
2017-01-07framework: process parameters: renamed srv_ready --> hserver.midipix2-14/+14
2017-01-07subsystem infrastructure: distinguish between port and session type/subtype.midipix1-2/+11
2017-01-07__ntapi_tty_create_session(): properly close the server ready event handle.midipix1-6/+8