| |
| |
| |
| |
| |
| |
| #include <psxtypes/psxtypes.h> |
| #include <ntapi/nt_object.h> |
| #include <ntapi/nt_port.h> |
| #include <ntapi/nt_string.h> |
| #include <ntapi/ntapi.h> |
| #include "ntapi_impl.h" |
| |
| int32_t __stdcall __ntapi_tty_connect( |
| __out void ** hport, |
| __in wchar16_t * tty_port_name, |
| __in int32_t impersonation_level) |
| { |
| nt_object_attributes oa; |
| nt_unicode_string name; |
| nt_security_quality_of_service sqos; |
| |
| __ntapi->tt_init_unicode_string_from_utf16( |
| &name,tty_port_name); |
| |
| sqos.length = sizeof(sqos); |
| sqos.impersonation_level = impersonation_level; |
| sqos.context_tracking_mode = NT_SECURITY_TRACKING_DYNAMIC; |
| sqos.effective_only = 1; |
| |
| oa.len = sizeof(oa); |
| oa.root_dir = (void *)0; |
| oa.obj_name = &name; |
| oa.obj_attr = 0; |
| oa.sec_desc = (nt_security_descriptor *)0; |
| oa.sec_qos = &sqos; |
| |
| return __ntapi->zw_connect_port( |
| hport, |
| &name, |
| &sqos, |
| (nt_port_section_write *)0, |
| (nt_port_section_read *)0, |
| (uint32_t *)0, |
| (void *)0, |
| (uint32_t *)0); |
| } |