#ifndef _NTAPI_H_
#define _NTAPI_H_
#include "nt_api.h"
#include "nt_compiler.h"
#include "nt_status.h"
#include "nt_crc32.h"
#include "nt_crc64.h"
#include "nt_object.h"
#include "nt_sysinfo.h"
#include "nt_memory.h"
#include "nt_section.h"
#include "nt_thread.h"
#include "nt_process.h"
#include "nt_job.h"
#include "nt_token.h"
#include "nt_sync.h"
#include "nt_time.h"
#include "nt_profiling.h"
#include "nt_port.h"
#include "nt_device.h"
#include "nt_file.h"
#include "nt_registry.h"
#include "nt_security.h"
#include "nt_pnp.h"
#include "nt_debug.h"
#include "nt_exception.h"
#include "nt_locale.h"
#include "nt_uuid.h"
#include "nt_atom.h"
#include "nt_os.h"
#include "nt_ipc.h"
#include "nt_ldr.h"
#include "nt_string.h"
#include "nt_guid.h"
#include "nt_argv.h"
#include "nt_blitter.h"
#include "nt_unicode.h"
#include "nt_socket.h"
#include "nt_mount.h"
#include "nt_istat.h"
#include "nt_stat.h"
#include "nt_statfs.h"
#include "nt_daemon.h"
#include "nt_sem.h"
#include "nt_acl.h"
#include "nt_vfd.h"
#include "nt_tty.h"
#include "nt_hash.h"
#include "nt_log.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _ntapi_vtbl {
/* imported symbols: head */
/* nt_object.h */
ntapi_zw_query_object * zw_query_object;
ntapi_zw_set_information_object * zw_set_information_object;
ntapi_zw_duplicate_object * zw_duplicate_object;
ntapi_zw_make_temporary_object * zw_make_temporary_object;
ntapi_zw_close * zw_close;
ntapi_zw_query_security_object * zw_query_security_object;
ntapi_zw_set_security_object * zw_set_security_object;
ntapi_zw_create_directory_object * zw_create_directory_object;
ntapi_zw_open_directory_object * zw_open_directory_object;
ntapi_zw_query_directory_object * zw_query_directory_object;
ntapi_zw_create_symbolic_link_object * zw_create_symbolic_link_object;
ntapi_zw_open_symbolic_link_object * zw_open_symbolic_link_object;
ntapi_zw_query_symbolic_link_object * zw_query_symbolic_link_object;
/* nt_sysinfo.h */
ntapi_zw_query_system_information * zw_query_system_information;
ntapi_zw_set_system_information * zw_set_system_information;
ntapi_zw_query_system_environment_value * zw_query_system_environment_value;
ntapi_zw_set_system_environment_value * zw_set_system_environment_value;
ntapi_zw_shutdown_system * zw_shutdown_system;
ntapi_zw_system_debug_control * zw_system_debug_control;
/* nt_memory.h */
ntapi_zw_allocate_virtual_memory * zw_allocate_virtual_memory;
ntapi_zw_free_virtual_memory * zw_free_virtual_memory;
ntapi_zw_query_virtual_memory * zw_query_virtual_memory;
ntapi_zw_protect_virtual_memory * zw_protect_virtual_memory;
ntapi_zw_read_virtual_memory * zw_read_virtual_memory;
ntapi_zw_write_virtual_memory * zw_write_virtual_memory;
ntapi_zw_lock_virtual_memory * zw_lock_virtual_memory;
ntapi_zw_unlock_virtual_memory * zw_unlock_virtual_memory;
ntapi_zw_flush_virtual_memory * zw_flush_virtual_memory;
ntapi_zw_allocate_user_physical_pages * zw_allocate_user_physical_pages;
ntapi_zw_free_user_physical_pages * zw_free_user_physical_pages;
ntapi_zw_map_user_physical_pages * zw_map_user_physical_pages;
ntapi_zw_get_write_watch * zw_get_write_watch;
ntapi_zw_reset_write_watch * zw_reset_write_watch;
/* nt_section.h */
ntapi_zw_create_section * zw_create_section;
ntapi_zw_open_section * zw_open_section;
ntapi_zw_query_section * zw_query_section;
ntapi_zw_extend_section * zw_extend_section;
ntapi_zw_map_view_of_section * zw_map_view_of_section;
ntapi_zw_unmap_view_of_section * zw_unmap_view_of_section;
ntapi_zw_are_mapped_files_the_same * zw_are_mapped_files_the_same;
/* nt_thread.h */
ntapi_zw_create_thread * zw_create_thread;
ntapi_zw_open_thread * zw_open_thread;
ntapi_zw_terminate_thread * zw_terminate_thread;
ntapi_zw_query_information_thread * zw_query_information_thread;
ntapi_zw_set_information_thread * zw_set_information_thread;
ntapi_zw_suspend_thread * zw_suspend_thread;
ntapi_zw_resume_thread * zw_resume_thread;
ntapi_zw_get_context_thread * zw_get_context_thread;
ntapi_zw_set_context_thread * zw_set_context_thread;
ntapi_zw_queue_apc_thread * zw_queue_apc_thread;
ntapi_zw_test_alert * zw_test_alert;
ntapi_zw_alert_thread * zw_alert_thread;
ntapi_zw_alert_resume_thread * zw_alert_resume_thread;
ntapi_zw_register_thread_terminate_port * zw_register_thread_terminate_port;
ntapi_zw_impersonate_thread * zw_impersonate_thread;
ntapi_zw_impersonate_anonymous_token * zw_impersonate_anonymous_token;
/* nt_process.h */
ntapi_zw_create_process * zw_create_process;
ntapi_zw_create_user_process * zw_create_user_process;
ntapi_zw_open_process * zw_open_process;
ntapi_zw_terminate_process * zw_terminate_process;
ntapi_zw_query_information_process * zw_query_information_process;
ntapi_zw_set_information_process * zw_set_information_process;
ntapi_zw_flush_instruction_cache * zw_flush_instruction_cache;
ntapi_rtl_create_process_parameters * rtl_create_process_parameters;
ntapi_rtl_destroy_process_parameters * rtl_destroy_process_parameters;
ntapi_rtl_normalize_process_params * rtl_normalize_process_params;
ntapi_rtl_create_query_debug_buffer * rtl_create_query_debug_buffer;
ntapi_rtl_destroy_query_debug_buffer * rtl_destroy_query_debug_buffer;
ntapi_rtl_query_process_debug_information * rtl_query_process_debug_information;
/* nt_job.h */
ntapi_zw_create_job_object * zw_create_job_object;
ntapi_zw_open_job_object * zw_open_job_object;
ntapi_zw_terminate_job_object * zw_terminate_job_object;
ntapi_zw_assign_process_to_job_object * zw_assign_process_to_job_object;
ntapi_zw_query_information_job_object * zw_query_information_job_object;
ntapi_zw_set_information_job_object * zw_set_information_job_object;
/* nt_token.h */
ntapi_zw_create_token * zw_create_token;
ntapi_zw_open_process_token * zw_open_process_token;
ntapi_zw_open_thread_token * zw_open_thread_token;
ntapi_zw_duplicate_token * zw_duplicate_token;
ntapi_zw_filter_token * zw_filter_token;
ntapi_zw_adjust_privileges_token * zw_adjust_privileges_token;
ntapi_zw_adjust_groups_token * zw_adjust_groups_token;
ntapi_zw_query_information_token * zw_query_information_token;
ntapi_zw_set_information_token * zw_set_information_token;
/* nt_sync.h */
ntapi_zw_wait_for_single_object * zw_wait_for_single_object;
ntapi_zw_signal_and_wait_for_single_object * zw_signal_and_wait_for_single_object;
ntapi_zw_wait_for_multiple_objects * zw_wait_for_multiple_objects;
ntapi_zw_create_timer * zw_create_timer;
ntapi_zw_open_timer * zw_open_timer;
ntapi_zw_cancel_timer * zw_cancel_timer;
ntapi_zw_set_timer * zw_set_timer;
ntapi_zw_query_timer * zw_query_timer;
ntapi_zw_create_event * zw_create_event;
ntapi_zw_open_event * zw_open_event;
ntapi_zw_set_event * zw_set_event;
ntapi_zw_pulse_event * zw_pulse_event;
ntapi_zw_reset_event * zw_reset_event;
ntapi_zw_clear_event * zw_clear_event;
ntapi_zw_query_event * zw_query_event;
ntapi_zw_create_semaphore * zw_create_semaphore;
ntapi_zw_open_semaphore * zw_open_semaphore;
ntapi_zw_release_semaphore * zw_release_semaphore;
ntapi_zw_query_semaphore * zw_query_semaphore;
ntapi_zw_create_mutant * zw_create_mutant;
ntapi_zw_open_mutant * zw_open_mutant;
ntapi_zw_release_mutant * zw_release_mutant;
ntapi_zw_query_mutant * zw_query_mutant;
ntapi_zw_create_io_completion * zw_create_io_completion;
ntapi_zw_open_io_completion * zw_open_io_completion;
ntapi_zw_set_io_completion * zw_set_io_completion;
ntapi_zw_remove_io_completion * zw_remove_io_completion;
ntapi_zw_query_io_completion * zw_query_io_completion;
ntapi_zw_create_event_pair * zw_create_event_pair;
ntapi_zw_open_event_pair * zw_open_event_pair;
ntapi_zw_wait_low_event_pair * zw_wait_low_event_pair;
ntapi_zw_set_low_event_pair * zw_set_low_event_pair;
ntapi_zw_wait_high_event_pair * zw_wait_high_event_pair;
ntapi_zw_set_high_event_pair * zw_set_high_event_pair;
ntapi_zw_set_low_wait_high_event_pair * zw_set_low_wait_high_event_pair;
ntapi_zw_set_high_wait_low_event_pair * zw_set_high_wait_low_event_pair;
/* nt_time.h */
ntapi_zw_query_system_time * zw_query_system_time;
ntapi_zw_set_system_time * zw_set_system_time;
ntapi_zw_query_performance_counter * zw_query_performance_counter;
ntapi_zw_set_timer_resolution * zw_set_timer_resolution;
ntapi_zw_query_timer_resolution * zw_query_timer_resolution;
ntapi_zw_delay_execution * zw_delay_execution;
ntapi_zw_yield_execution * zw_yield_execution;
/* nt_profiling.h */
ntapi_zw_create_profile * zw_create_profile;
ntapi_zw_set_interval_profile * zw_set_interval_profile;
ntapi_zw_query_interval_profile * zw_query_interval_profile;
ntapi_zw_start_profile * zw_start_profile;
ntapi_zw_stop_profile * zw_stop_profile;
/* nt_port.h */
ntapi_zw_create_port * zw_create_port;
ntapi_zw_create_waitable_port * zw_create_waitable_port;
ntapi_zw_connect_port * zw_connect_port;
ntapi_zw_secure_connect_port * zw_secure_connect_port;
ntapi_zw_listen_port * zw_listen_port;
ntapi_zw_accept_connect_port * zw_accept_connect_port;
ntapi_zw_complete_connect_port * zw_complete_connect_port;
ntapi_zw_request_port * zw_request_port;
ntapi_zw_request_wait_reply_port * zw_request_wait_reply_port;
ntapi_zw_reply_port * zw_reply_port;
ntapi_zw_reply_wait_reply_port * zw_reply_wait_reply_port;
ntapi_zw_reply_wait_receive_port * zw_reply_wait_receive_port;
ntapi_zw_reply_wait_receive_port_ex * zw_reply_wait_receive_port_ex;
ntapi_zw_read_request_data * zw_read_request_data;
ntapi_zw_write_request_data * zw_write_request_data;
ntapi_zw_query_information_port * zw_query_information_port;
ntapi_zw_impersonate_client_of_port * zw_impersonate_client_of_port;
ntapi_csr_client_call_server * csr_client_call_server;
ntapi_csr_port_handle * csr_port_handle;
/* nt_device.h */
ntapi_zw_load_driver * zw_load_driver;
ntapi_zw_unload_driver * zw_unload_driver;
/* nt_file.h */
ntapi_zw_create_file * zw_create_file;
ntapi_zw_open_file * zw_open_file;
ntapi_zw_delete_file * zw_delete_file;
ntapi_zw_flush_buffers_file * zw_flush_buffers_file;
ntapi_zw_cancel_io_file * zw_cancel_io_file;
ntapi_zw_cancel_io_file_ex * zw_cancel_io_file_ex;
ntapi_zw_read_file * zw_read_file;
ntapi_zw_write_file * zw_write_file;
ntapi_zw_read_file_scatter * zw_read_file_scatter;
ntapi_zw_write_file_gather * zw_write_file_gather;
ntapi_zw_lock_file * zw_lock_file;
ntapi_zw_unlock_file * zw_unlock_file;
ntapi_zw_device_io_control_file * zw_device_io_control_file;
ntapi_zw_fs_control_file * zw_fs_control_file;
ntapi_zw_notify_change_directory_file * zw_notify_change_directory_file;
ntapi_zw_query_ea_file * zw_query_ea_file;
ntapi_zw_set_ea_file * zw_set_ea_file;
ntapi_zw_create_named_pipe_file * zw_create_named_pipe_file;
ntapi_zw_create_mailslot_file * zw_create_mailslot_file;
ntapi_zw_query_volume_information_file * zw_query_volume_information_file;
ntapi_zw_set_volume_information_file * zw_set_volume_information_file;
ntapi_zw_query_quota_information_file * zw_query_quota_information_file;
ntapi_zw_set_quota_information_file * zw_set_quota_information_file;
ntapi_zw_query_attributes_file * zw_query_attributes_file;
ntapi_zw_query_full_attributes_file * zw_query_full_attributes_file;
ntapi_zw_query_directory_file * zw_query_directory_file;
ntapi_zw_query_information_file * zw_query_information_file;
ntapi_zw_set_information_file * zw_set_information_file;
/* nt_resistry.h */
ntapi_zw_create_key * zw_create_key;
ntapi_zw_open_key * zw_open_key;
ntapi_zw_delete_key * zw_delete_key;
ntapi_zw_flush_key * zw_flush_key;
ntapi_zw_save_key * zw_save_key;
ntapi_zw_save_merged_keys * zw_save_merged_keys;
ntapi_zw_restore_key * zw_restore_key;
ntapi_zw_load_key * zw_load_key;
ntapi_zw_load_key2 * zw_load_key2;
ntapi_zw_unload_key * zw_unload_key;
ntapi_zw_query_open_sub_keys * zw_query_open_sub_keys;
ntapi_zw_replace_key * zw_replace_key;
ntapi_zw_set_information_key * zw_set_information_key;
ntapi_zw_query_key * zw_query_key;
ntapi_zw_enumerate_key * zw_enumerate_key;
ntapi_zw_notify_change_key * zw_notify_change_key;
ntapi_zw_notify_change_multiple_keys * zw_notify_change_multiple_keys;
ntapi_zw_delete_value_key * zw_delete_value_key;
ntapi_zw_set_value_key * zw_set_value_key;
ntapi_zw_query_value_key * zw_query_value_key;
ntapi_zw_enumerate_value_key * zw_enumerate_value_key;
ntapi_zw_query_multiple_value_key * zw_query_multiple_value_key;
ntapi_zw_initialize_registry * zw_initialize_registry;
/* nt_security.h */
ntapi_zw_privilege_check * zw_privilege_check;
ntapi_zw_privilege_object_audit_alarm * zw_privilege_object_audit_alarm;
ntapi_zw_privileged_service_audit_alarm * zw_privileged_service_audit_alarm;
ntapi_zw_access_check * zw_access_check;
ntapi_zw_access_check_and_audit_alarm * zw_access_check_and_audit_alarm;
ntapi_zw_access_check_by_type * zw_access_check_by_type;
ntapi_zw_access_check_by_type_result_list * zw_access_check_by_type_result_list;
ntapi_zw_open_object_audit_alarm * zw_open_object_audit_alarm;
ntapi_zw_close_object_audit_alarm * zw_close_object_audit_alarm;
ntapi_zw_delete_object_audit_alarm * zw_delete_object_audit_alarm;
ntapi_zw_access_check_by_type_and_audit_alarm * zw_access_check_by_type_and_audit_alarm;
ntapi_zw_access_check_by_type_result_list_and_audit_alarm * zw_access_check_by_type_result_list_and_audit_alarm;
ntapi_zw_access_check_by_type_result_list_and_audit_alarm_by_handle * zw_access_check_by_type_result_list_and_audit_alarm_by_handle;
/* nt_pnp.h */
ntapi_zw_is_system_resume_automatic * zw_is_system_resume_automatic;
ntapi_zw_set_thread_execution_state * zw_set_thread_execution_state;
ntapi_zw_get_device_power_state * zw_get_device_power_state;
ntapi_zw_set_system_power_state * zw_set_system_power_state;
ntapi_zw_initiate_power_action * zw_initiate_power_action;
ntapi_zw_power_information * zw_power_information;
ntapi_zw_plug_play_control * zw_plug_play_control;
ntapi_zw_get_plug_play_event * zw_get_plug_play_event;
/* nt_debug.h */
ntapi_zw_create_debug_object * zw_create_debug_object;
ntapi_zw_debug_active_process * zw_debug_active_process;
ntapi_zw_remove_process_debug * zw_remove_process_debug;
ntapi_zw_wait_for_debug_event * zw_wait_for_debug_event;
ntapi_zw_debug_continue * zw_debug_continue;
ntapi_zw_set_information_debug_object * zw_set_information_debug_object;
ntapi_zw_query_debug_filter_state * zw_query_debug_filter_state;
ntapi_zw_set_debug_filter_state * zw_set_debug_filter_state;
/* nt_exception */
ntapi_zw_raise_exception * zw_raise_exception;
ntapi_zw_continue * zw_continue;
/* nt_locale */
ntapi_zw_query_default_locale * zw_query_default_locale;
ntapi_zw_set_default_locale * zw_set_default_locale;
ntapi_zw_query_default_ui_language * zw_query_default_ui_language;
ntapi_zw_set_default_ui_language * zw_set_default_ui_language;
ntapi_zw_query_install_ui_language * zw_query_install_ui_language;
/* nt_uuid.h */
ntapi_zw_allocate_locally_unique_id * zw_allocate_locally_unique_id;
ntapi_zw_allocate_uuids * zw_allocate_uuids;
ntapi_zw_set_uuid_seed * zw_set_uuid_seed;
/* nt_atom.h */
ntapi_zw_add_atom * zw_add_atom;
ntapi_zw_find_atom * zw_find_atom;
ntapi_zw_delete_atom * zw_delete_atom;
ntapi_zw_query_information_atom * zw_query_information_atom;
/* nt_os.h */
ntapi_zw_flush_write_buffer * zw_flush_write_buffer;
ntapi_zw_raise_hard_error * zw_raise_hard_error;
ntapi_zw_set_default_hard_error_port * zw_set_default_hard_error_port;
ntapi_zw_display_string * zw_display_string;
ntapi_zw_create_paging_file * zw_create_paging_file;
ntapi_zw_set_ldt_entries * zw_set_ldt_entries;
ntapi_zw_vdm_control * zw_vdm_control;
/* nt_ldr.h */
ntapi_ldr_load_dll * ldr_load_dll;
ntapi_ldr_unload_dll * ldr_unload_dll;
/* nt_string.h */
ntapi_memset * memset;
ntapi_sprintf * sprintf;
ntapi_snprintf * snprintf;
ntapi_vsprintf * vsprintf;
ntapi_vsnprintf * vsnprintf;
/* imported symbols: tail */
/* alternate implementation */
/* nt_string.h */
ntapi_rtl_init_unicode_string * rtl_init_unicode_string;
ntapi_strlen * strlen;
ntapi_wcslen * wcslen;
/* extension functions */
/* nt_object.h */
ntapi_tt_open_ipc_object_directory * tt_open_ipc_object_directory;
ntapi_tt_create_ipc_object_directory_entry * tt_create_ipc_object_directory_entry;
ntapi_tt_open_dev_object_directory * tt_open_dev_object_directory;
ntapi_tt_create_dev_object_directory_entry * tt_create_dev_object_directory_entry;
ntapi_tt_create_keyed_object_directory * tt_create_keyed_object_directory;
ntapi_tt_open_keyed_object_directory * tt_open_keyed_object_directory;
ntapi_tt_create_keyed_object_directory_entry * tt_create_keyed_object_directory_entry;
ntapi_tt_keyed_object_to_key * tt_keyed_object_to_key;
ntapi_tt_sid_copy * tt_sid_copy;
ntapi_tt_sid_compare * tt_sid_compare;
/* nt_crc32.h */
ntapi_tt_buffer_crc32 * tt_buffer_crc32;
ntapi_tt_mbstr_crc32 * tt_mbstr_crc32;
ntapi_tt_crc32_table * tt_crc32_table;
/* nt_crc64.h */
ntapi_tt_buffer_crc64 * tt_buffer_crc64;
ntapi_tt_mbstr_crc64 * tt_mbstr_crc64;
ntapi_tt_crc64_table * tt_crc64_table;
/* nt_file.h */
ntapi_tt_get_file_handle_type * tt_get_file_handle_type;
ntapi_tt_open_logical_parent_directory * tt_open_logical_parent_directory;
ntapi_tt_open_physical_parent_directory * tt_open_physical_parent_directory;
ntapi_tt_open_volume_by_guid * tt_open_volume_by_guid;
/* nt_ipc.h */
ntapi_ipc_connect_by_attr * ipc_connect_by_attr;
ntapi_ipc_connect_by_name * ipc_connect_by_name;
ntapi_ipc_connect_by_symlink * ipc_connect_by_symlink;
ntapi_ipc_connect_by_port * ipc_connect_by_port;
ntapi_ipc_connect_section_by_attr * ipc_connect_section_by_attr;
ntapi_ipc_connect_section_by_name * ipc_connect_section_by_name;
ntapi_ipc_connect_section_by_symlink * ipc_connect_section_by_symlink;
ntapi_ipc_connect_section_by_port * ipc_connect_section_by_port;
ntapi_ipc_get_port_by_attr * ipc_get_port_by_attr;
ntapi_ipc_get_port_section_by_attr * ipc_get_port_section_by_attr;
ntapi_ipc_init_section_by_port * ipc_init_section_by_port;
ntapi_ipc_disconnect_unmap_section_by_port * ipc_disconnect_unmap_section_by_port;
ntapi_ipc_create_pipe * ipc_create_pipe;
/* nt_sem.h */
ntapi_sem_create * sem_create;
ntapi_sem_open * sem_open;
ntapi_sem_fcntl * sem_fcntl;
ntapi_sem_ioctl * sem_ioctl;
ntapi_sem_query * sem_query;
ntapi_sem_set * sem_set;
ntapi_sem_cancel * sem_cancel;
ntapi_sem_free * sem_free;
/* nt_msq.h */
ntapi_msq_create * msq_create;
ntapi_msq_open * msq_open;
ntapi_msq_send * msq_send;
ntapi_msq_recv * msq_recv;
ntapi_msq_fcntl * msq_fcntl;
ntapi_msq_ioctl * msq_ioctl;
ntapi_msq_query * msq_query;
ntapi_msq_set * msq_set;
ntapi_msq_cancel * msq_cancel;
ntapi_msq_free * msq_free;
/* nt_afl.h */
ntapi_afl_create * afl_create;
ntapi_afl_open * afl_open;
ntapi_afl_fcntl * afl_fcntl;
ntapi_afl_ioctl * afl_ioctl;
ntapi_afl_query * afl_query;
ntapi_afl_set * afl_set;
ntapi_afl_cancel * afl_cancel;
ntapi_afl_free * afl_free;
/* nt_ldr.h */
ntapi_ldr_load_system_dll * ldr_load_system_dll;
ntapi_ldr_create_state_snapshot * ldr_create_state_snapshot;
ntapi_ldr_revert_state_to_snapshot * ldr_revert_state_to_snapshot;
/* nt_string.h */
ntapi_tt_string_null_offset_multibyte * tt_string_null_offset_multibyte;
ntapi_tt_string_null_offset_short * tt_string_null_offset_short;
ntapi_tt_string_null_offset_dword * tt_string_null_offset_dword;
ntapi_tt_string_null_offset_qword * tt_string_null_offset_qword;
ntapi_tt_string_null_offset_ptrsize * tt_string_null_offset_ptrsize;
ntapi_tt_strcmp_multibyte * tt_strcmp_multibyte;
ntapi_tt_strcmp_utf16 * tt_strcmp_utf16;
ntapi_tt_strncmp_multibyte * tt_strncmp_multibyte;
ntapi_tt_strncmp_utf16 * tt_strncmp_utf16;
ntapi_tt_aligned_block_memset * tt_aligned_block_memset;
ntapi_tt_aligned_block_memcpy * tt_aligned_block_memcpy;
ntapi_tt_aligned_block_memlock * tt_aligned_block_memlock;
ntapi_tt_aligned_memcpy_utf16 * tt_aligned_memcpy_utf16;
ntapi_tt_memcpy_utf16 * tt_memcpy_utf16;
ntapi_tt_generic_memset * tt_generic_memset;
ntapi_tt_generic_memcpy * tt_generic_memcpy;
ntapi_tt_uint16_to_hex_utf16 * tt_uint16_to_hex_utf16;
ntapi_tt_uint32_to_hex_utf16 * tt_uint32_to_hex_utf16;
ntapi_tt_uint64_to_hex_utf16 * tt_uint64_to_hex_utf16;
ntapi_tt_uintptr_to_hex_utf16 * tt_uintptr_to_hex_utf16;
ntapi_tt_hex_utf16_to_uint16 * tt_hex_utf16_to_uint16;
ntapi_tt_hex_utf16_to_uint32 * tt_hex_utf16_to_uint32;
ntapi_tt_hex_utf16_to_uint64 * tt_hex_utf16_to_uint64;
ntapi_tt_hex_utf16_to_uintptr * tt_hex_utf16_to_uintptr;
ntapi_tt_uint16_to_hex_utf8 * tt_uint16_to_hex_utf8;
ntapi_tt_uint32_to_hex_utf8 * tt_uint32_to_hex_utf8;
ntapi_tt_uint64_to_hex_utf8 * tt_uint64_to_hex_utf8;
ntapi_tt_uintptr_to_hex_utf8 * tt_uintptr_to_hex_utf8;
ntapi_tt_uintptr_to_dec_utf16 * tt_uintptr_to_dec_utf16;
ntapi_tt_uintptr_to_dec_utf8 * tt_uintptr_to_dec_utf8;
ntapi_tt_uintptr_to_dec_null_utf16 * tt_uintptr_to_dec_null_utf16;
ntapi_tt_uintptr_to_dec_null_utf8 * tt_uintptr_to_dec_null_utf8;
ntapi_tt_dec_utf16_to_uint16 * tt_dec_utf16_to_uint16;
ntapi_tt_dec_utf16_to_uint32 * tt_dec_utf16_to_uint32;
ntapi_tt_dec_utf16_to_uint64 * tt_dec_utf16_to_uint64;
ntapi_tt_dec_utf16_to_uintptr * tt_dec_utf16_to_uintptr;
ntapi_tt_init_unicode_string_from_utf16* tt_init_unicode_string_from_utf16;
/* nt_guid.h */
ntapi_tt_guid_copy * tt_guid_copy;
ntapi_tt_guid_compare * tt_guid_compare;
ntapi_tt_guid_to_string_utf16 * tt_guid_to_string_utf16;
ntapi_tt_string_to_guid_utf16 * tt_string_to_guid_utf16;
/* nt_sysinfo.h */
ntapi_tt_get_system_directory_native_path * tt_get_system_directory_native_path;
ntapi_tt_get_system_directory_dos_path * tt_get_system_directory_dos_path;
ntapi_tt_get_system_directory_handle * tt_get_system_directory_handle;
ntapi_tt_get_system_info_snapshot * tt_get_system_info_snapshot;
/* nt_thread.h */
ntapi_tt_create_thread * tt_create_thread;
ntapi_tt_create_local_thread * tt_create_local_thread;
ntapi_tt_create_remote_thread * tt_create_remote_thread;
/* nt_process.h */
ntapi_tt_fork * tt_fork;
ntapi_tt_create_remote_process_params * tt_create_remote_process_params;
ntapi_tt_create_native_process * tt_create_native_process;
ntapi_tt_spawn_native_process * tt_spawn_native_process;
ntapi_tt_spawn_foreign_process * tt_spawn_foreign_process;
ntapi_tt_get_runtime_data * tt_get_runtime_data;
ntapi_tt_init_runtime_data * tt_init_runtime_data;
ntapi_tt_update_runtime_data * tt_update_runtime_data;
ntapi_tt_exec_map_image_as_data * tt_exec_map_image_as_data;
ntapi_tt_exec_unmap_image * tt_exec_unmap_image;
/* nt_token.h */
ntapi_tt_enable_token_privilege * tt_enable_token_privilege;
ntapi_tt_disable_token_privilege * tt_disable_token_privilege;
/* nt_section.h */
ntapi_tt_get_section_name * tt_get_section_name;
/* nt_sync.h */
ntapi_tt_create_inheritable_event * tt_create_inheritable_event;
ntapi_tt_create_private_event * tt_create_private_event;
ntapi_tt_sync_block_init * tt_sync_block_init;
ntapi_tt_sync_block_discard * tt_sync_block_discard;
ntapi_tt_sync_block_lock * tt_sync_block_lock;
ntapi_tt_sync_block_unlock * tt_sync_block_unlock;
ntapi_tt_sync_block_server_lock * tt_sync_block_server_lock;
ntapi_tt_wait_for_dummy_event * tt_wait_for_dummy_event;
/* nt_port.h */
ntapi_tt_port_guid_from_type * tt_port_guid_from_type;
ntapi_tt_port_type_from_guid * tt_port_type_from_guid;
ntapi_tt_port_generate_keys * tt_port_generate_keys;
ntapi_tt_port_format_keys * tt_port_format_keys;
ntapi_tt_port_name_from_attr * tt_port_name_from_attr;
ntapi_tt_port_attr_from_name * tt_port_attr_from_name;
ntapi_tt_port_attr_from_string * tt_port_attr_from_string;
ntapi_tt_port_attr_from_symlink * tt_port_attr_from_symlink;
/* nt_argv.h */
ntapi_tt_get_cmd_line_utf16 * tt_get_cmd_line_utf16;
ntapi_tt_get_peb_env_block_utf16 * tt_get_peb_env_block_utf16;
ntapi_tt_parse_cmd_line_args_utf16 * tt_parse_cmd_line_args_utf16;
ntapi_tt_get_argv_envp_utf8 * tt_get_argv_envp_utf8;
ntapi_tt_get_argv_envp_utf16 * tt_get_argv_envp_utf16;
ntapi_tt_get_env_var_meta_utf8 * tt_get_env_var_meta_utf8;
ntapi_tt_get_env_var_meta_utf16 * tt_get_env_var_meta_utf16;
ntapi_tt_array_copy_utf8 * tt_array_copy_utf8;
ntapi_tt_array_copy_utf16 * tt_array_copy_utf16;
ntapi_tt_array_convert_utf8_to_utf16 * tt_array_convert_utf8_to_utf16;
ntapi_tt_array_convert_utf16_to_utf8 * tt_array_convert_utf16_to_utf8;
/* nt_blitter.h */
ntapi_blt_alloc * blt_alloc;
ntapi_blt_free * blt_free;
ntapi_blt_acquire * blt_acquire;
ntapi_blt_obtain * blt_obtain;
ntapi_blt_possess * blt_possess;
ntapi_blt_release * blt_release;
ntapi_blt_get * blt_get;
ntapi_blt_set * blt_set;
/* nt_unicode.h */
ntapi_uc_validate_unicode_stream_utf8 * uc_validate_unicode_stream_utf8;
ntapi_uc_validate_unicode_stream_utf16 * uc_validate_unicode_stream_utf16;
ntapi_uc_get_code_point_byte_count_utf8 * uc_get_code_point_byte_count_utf8;
ntapi_uc_get_code_point_byte_count_utf16 * uc_get_code_point_byte_count_utf16;
ntapi_uc_convert_unicode_stream_utf8_to_utf16 * uc_convert_unicode_stream_utf8_to_utf16;
ntapi_uc_convert_unicode_stream_utf8_to_utf32 * uc_convert_unicode_stream_utf8_to_utf32;
ntapi_uc_convert_unicode_stream_utf16_to_utf8 * uc_convert_unicode_stream_utf16_to_utf8;
ntapi_uc_convert_unicode_stream_utf16_to_utf32 *uc_convert_unicode_stream_utf16_to_utf32;
/* nt_daemon.h */
ntapi_dsr_init * dsr_init;
ntapi_dsr_create_port * dsr_create_port;
/* nt_acl.h */
ntapi_acl_init_common_descriptor * acl_init_common_descriptor;
ntapi_acl_init_common_descriptor_meta * acl_init_common_descriptor_meta;
/* nt_vfd.h */
ntapi_vfd_dev_name_init * vfd_dev_name_init;
/* nt_tty.h */
ntapi_tty_create_session * tty_create_session;
ntapi_tty_join_session * tty_join_session;
ntapi_tty_connect * tty_connect;
ntapi_tty_client_session_disconnect * tty_client_session_disconnect;
ntapi_tty_client_session_query * tty_client_session_query;
ntapi_tty_client_session_set * tty_client_session_set;
ntapi_tty_client_process_register * tty_client_process_register;
ntapi_tty_query_information_section * tty_query_information_section;
ntapi_tty_query_information_server * tty_query_information_server;
ntapi_tty_query_information_service * tty_query_information_service;
ntapi_tty_query_server_pts_slot_info * tty_query_server_pts_slot_info;
ntapi_tty_request_peer * tty_request_peer;
ntapi_tty_vms_query * tty_vms_query;
ntapi_tty_vms_request * tty_vms_request;
ntapi_pty_open * pty_open;
ntapi_pty_open_pair * pty_open_pair;
ntapi_pty_reopen * pty_reopen;
ntapi_pty_inherit * pty_inherit;
ntapi_pty_inherit_runtime_ctty * pty_inherit_runtime_ctty;
ntapi_pty_close * pty_close;
ntapi_pty_read * pty_read;
ntapi_pty_write * pty_write;
ntapi_pty_fcntl * pty_fcntl;
ntapi_pty_ioctl * pty_ioctl;
ntapi_pty_query * pty_query;
ntapi_pty_xquery * pty_xquery;
ntapi_pty_set * pty_set;
ntapi_pty_cancel * pty_cancel;
/* nt_socket.h */
ntapi_sc_socket * sc_socket;
ntapi_sc_bind * sc_bind;
ntapi_sc_listen * sc_listen;
ntapi_sc_accept * sc_accept;
ntapi_sc_connect * sc_connect;
ntapi_sc_send * sc_send;
ntapi_sc_recv * sc_recv;
ntapi_sc_shutdown * sc_shutdown;
ntapi_sc_getsockname * sc_getsockname;
ntapi_sc_getpeername * sc_getpeername;
ntapi_sc_server_accept_connection * sc_server_accept_connection;
ntapi_sc_server_duplicate_socket * sc_server_duplicate_socket;
ntapi_sc_setsockopt * sc_setsockopt;
ntapi_sc_getsockopt * sc_getsockopt;
ntapi_sc_wait * sc_wait;
/* nt_mount.h */
ntapi_tt_get_dos_drive_device_handle * tt_get_dos_drive_device_handle;
ntapi_tt_get_dos_drive_root_handle * tt_get_dos_drive_root_handle;
ntapi_tt_get_dos_drive_device_name * tt_get_dos_drive_device_name;
ntapi_tt_get_dos_drive_mount_points * tt_get_dos_drive_mount_points;
ntapi_tt_dev_mount_points_to_statfs * tt_dev_mount_points_to_statfs;
ntapi_tt_get_dos_drive_letter_from_device * tt_get_dos_drive_letter_from_device;
/* nt_istat.h */
ntapi_tt_istat * tt_istat;
/* nt_stat.h */
ntapi_tt_stat * tt_stat;
/* nt_statfs.h */
ntapi_tt_statfs * tt_statfs;
/* nt_log.h */
ntapi_log_write * log_write;
ntapi_log_fn_call * log_fn_call;
ntapi_log_msg * log_msg;
/* nt_debug.h */
ntapi_tt_debug_create_object * tt_debug_create_object;
ntapi_tt_debug_create_attach_object * tt_debug_create_attach_object;
ntapi_tt_debug_execution_flow * tt_debug_execution_flow;
ntapi_tt_debug_break_process * tt_debug_break_process;
} ntapi_vtbl;
__ntapi_api
int32_t __fastcall ntapi_init(ntapi_vtbl ** pvtbl);
#ifdef __cplusplus
}
#endif
#endif