関数 | |
NTSTATUS | dos_to_ntstatus (uint8 eclass, uint32 ecode) |
void | ntstatus_to_dos (NTSTATUS ntstatus, uint8 *eclass, uint32 *ecode) |
NTSTATUS | werror_to_ntstatus (WERROR error) |
WERROR | ntstatus_to_werror (NTSTATUS error) |
NTSTATUS | map_nt_error_from_unix (int unix_error) |
変数 | |
struct { | |
uint8 dos_class | |
uint32 dos_code | |
NTSTATUS ntstatus | |
} | ntstatus_to_dos_map [] |
struct { | |
uint8 dos_class | |
uint32 dos_code | |
NTSTATUS ntstatus | |
} | dos_to_ntstatus_map [] |
struct { | |
NTSTATUS ntstatus | |
WERROR werror | |
} | ntstatus_to_werror_map [] |
struct { | |
WERROR werror | |
NTSTATUS ntstatus | |
} | werror_to_ntstatus_map [] |
unix_error_map | unix_dos_nt_errmap [] |
NTSTATUS dos_to_ntstatus | ( | uint8 | eclass, | |
uint32 | ecode | |||
) |
errormap.c の 1425 行で定義されています。
参照先 dos_class・dos_code・dos_to_ntstatus_map・ntstatus.
参照元 cli_errno()・cli_get_nt_error()・cli_nt_error()・error_packet_set()・rpc_read().
01426 { 01427 int i; 01428 if (eclass == 0 && ecode == 0) return NT_STATUS_OK; 01429 for (i=0; NT_STATUS_V(dos_to_ntstatus_map[i].ntstatus); i++) { 01430 if (eclass == dos_to_ntstatus_map[i].dos_class && 01431 ecode == dos_to_ntstatus_map[i].dos_code) { 01432 return dos_to_ntstatus_map[i].ntstatus; 01433 } 01434 } 01435 return NT_STATUS_UNSUCCESSFUL; 01436 }
void ntstatus_to_dos | ( | NTSTATUS | ntstatus, | |
uint8 * | eclass, | |||
uint32 * | ecode | |||
) |
errormap.c の 1442 行で定義されています。
参照先 ntstatus・ntstatus_to_dos_map.
参照元 cli_dos_error()・error_packet_set().
01443 { 01444 int i; 01445 if (NT_STATUS_IS_OK(ntstatus)) { 01446 *eclass = 0; 01447 *ecode = 0; 01448 return; 01449 } 01450 for (i=0; NT_STATUS_V(ntstatus_to_dos_map[i].ntstatus); i++) { 01451 if (NT_STATUS_V(ntstatus) == 01452 NT_STATUS_V(ntstatus_to_dos_map[i].ntstatus)) { 01453 *eclass = ntstatus_to_dos_map[i].dos_class; 01454 *ecode = ntstatus_to_dos_map[i].dos_code; 01455 return; 01456 } 01457 } 01458 *eclass = ERRHRD; 01459 *ecode = ERRgeneral; 01460 }
errormap.c の 1466 行で定義されています。
参照先 error・ntstatus・ntstatus_to_werror_map・werror・werror_to_ntstatus_map.
参照元 cac_RegClose()・cac_RegConnect()・cac_RegCreateKey()・cac_RegDeleteKey()・cac_RegDeleteValue()・cac_RegEnumKeys()・cac_RegEnumValues()・cac_RegGetKeySecurity()・cac_RegGetVersion()・cac_RegOpenKey()・cac_RegQueryKeyInfo()・cac_RegQueryValue()・cac_RegSaveKey()・cac_RegSetKeySecurity()・cac_RegSetValue()・cac_SvcClose()・cac_SvcContinueService()・cac_SvcControlService()・cac_SvcEnumServices()・cac_SvcGetDisplayName()・cac_SvcGetServiceConfig()・cac_SvcGetStatus()・cac_SvcOpenScm()・cac_SvcOpenService()・cac_SvcPauseService()・cac_SvcStartService()・cac_SvcStopService()・cac_WaitForService()・cmd_netlogon_dsr_getsitename()・rpc_reg_shutdown_abort_internals()・rpc_reg_shutdown_internals()・rpc_registry_enumerate_internal()・rpc_registry_save_internal()・rpc_service_list_internal()・rpc_service_pause_internal()・rpc_service_resume_internal()・rpc_service_start_internal()・rpc_service_status_internal()・rpc_service_stop_internal()・rpc_sh_share_add()・rpc_sh_share_delete()・rpc_sh_share_info()・rpc_share_add_internals()・rpccli_dfs_Add()・rpccli_dfs_Add2()・rpccli_dfs_AddFtRoot()・rpccli_dfs_AddStdRoot()・rpccli_dfs_AddStdRootForced()・rpccli_dfs_Enum()・rpccli_dfs_EnumEx()・rpccli_dfs_FlushFtTable()・rpccli_dfs_GetDcAddress()・rpccli_dfs_GetInfo()・rpccli_dfs_ManagerGetConfigInfo()・rpccli_dfs_ManagerInitialize()・rpccli_dfs_ManagerSendSiteInfo()・rpccli_dfs_Move()・rpccli_dfs_Remove()・rpccli_dfs_Remove2()・rpccli_dfs_RemoveFtRoot()・rpccli_dfs_RemoveStdRoot()・rpccli_dfs_Rename()・rpccli_dfs_SetDcAddress()・rpccli_dfs_SetInfo()・rpccli_dfs_SetInfo2()・rpccli_shutdown_abort()・rpccli_shutdown_init()・rpccli_shutdown_init_ex()・rpccli_wkssvc_NetrAddAlternateComputerName()・rpccli_WKSSVC_NETRENUMERATECOMPUTERNAMES()・rpccli_WKSSVC_NETRGETJOINABLEOUS()・rpccli_WKSSVC_NETRGETJOINABLEOUS2()・rpccli_WKSSVC_NETRGETJOININFORMATION()・rpccli_WKSSVC_NETRJOINDOMAIN()・rpccli_wkssvc_NetrJoinDomain2()・rpccli_WKSSVC_NETRLOGONDOMAINNAMEADD()・rpccli_WKSSVC_NETRLOGONDOMAINNAMEDEL()・rpccli_WKSSVC_NETRMESSAGEBUFFERSEND()・rpccli_wkssvc_NetrRemoveAlternateComputerName()・rpccli_WKSSVC_NETRRENAMEMACHINEINDOMAIN()・rpccli_wkssvc_NetrRenameMachineInDomain2()・rpccli_WKSSVC_NETRSETPRIMARYCOMPUTERNAME()・rpccli_WKSSVC_NETRUNJOINDOMAIN()・rpccli_wkssvc_NetrUnjoinDomain2()・rpccli_WKSSVC_NETRUSEADD()・rpccli_WKSSVC_NETRUSEDEL()・rpccli_WKSSVC_NETRUSEENUM()・rpccli_WKSSVC_NETRUSEGETINFO()・rpccli_WKSSVC_NETRVALIDATENAME()・rpccli_WKSSVC_NETRVALIDATENAME2()・rpccli_WKSSVC_NETRWKSTATRANSPORTADD()・rpccli_WKSSVC_NETRWKSTATRANSPORTDEL()・rpccli_WKSSVC_NETRWKSTAUSERGETINFO()・rpccli_WKSSVC_NETRWKSTAUSERSETINFO()・rpccli_WKSSVC_NETRWORKSTATIONSTATISTICSGET()・rpccli_wkssvc_NetWkstaEnumUsers()・rpccli_wkssvc_NetWkstaGetInfo()・rpccli_wkssvc_NetWkstaSetInfo()・rpccli_wkssvc_NetWkstaTransportEnum().
01467 { 01468 int i; 01469 if (W_ERROR_IS_OK(error)) return NT_STATUS_OK; 01470 01471 for (i=0; !W_ERROR_IS_OK(werror_to_ntstatus_map[i].werror); i++) { 01472 if (W_ERROR_V(error) == 01473 W_ERROR_V(werror_to_ntstatus_map[i].werror)) { 01474 return werror_to_ntstatus_map[i].ntstatus; 01475 } 01476 } 01477 01478 for (i=0; NT_STATUS_V(ntstatus_to_werror_map[i].ntstatus); i++) { 01479 if (W_ERROR_V(error) == 01480 W_ERROR_V(ntstatus_to_werror_map[i].werror)) { 01481 return ntstatus_to_werror_map[i].ntstatus; 01482 } 01483 } 01484 01485 /* just guess ... */ 01486 return NT_STATUS(W_ERROR_V(error) | 0xc0000000); 01487 }
errormap.c の 1492 行で定義されています。
参照先 error・ntstatus・ntstatus_to_werror_map.
参照元 _srv_net_file_query_secdesc()・_srv_net_file_set_secdesc()・_svcctl_open_scmanager()・_svcctl_open_service()・backup_registry_key()・get_correct_cversion()・map_werror_from_unix()・move_driver_to_download_area()・regdb_open()・restore_registry_key().
01493 { 01494 int i; 01495 if (NT_STATUS_IS_OK(error)) return WERR_OK; 01496 for (i=0; NT_STATUS_V(ntstatus_to_werror_map[i].ntstatus); i++) { 01497 if (NT_STATUS_V(error) == 01498 NT_STATUS_V(ntstatus_to_werror_map[i].ntstatus)) { 01499 return ntstatus_to_werror_map[i].werror; 01500 } 01501 } 01502 01503 /* a lame guess */ 01504 return W_ERROR(NT_STATUS_V(error) & 0xffff); 01505 }
NTSTATUS map_nt_error_from_unix | ( | int | unix_error | ) |
errormap.c の 1583 行で定義されています。
参照先 unix_error_map::nt_error・unix_dos_nt_errmap.
参照元 ads_ntstatus()・backup_registry_key()・can_delete()・can_delete_directory()・check_name()・cli_connect()・close_filestruct()・close_normal_file()・conn_get_nt_acl()・create_conn_struct()・delete_memory_creds()・dptr_create()・fd_close_posix()・fd_open()・gpo_copy_file()・hardlink_internals()・inotify_setup()・inotify_watch()・map_werror_from_unix()・mkdir_internal()・open_directory()・open_file()・open_file_ntcreate()・print_fsp_open()・reduce_name()・regdb_open()・rename_internals()・rename_internals_fsp()・reply_checkpath()・reply_copy()・restore_registry_key()・rmdir_internals()・set_ea()・smb_set_file_allocation_info()・smb_set_file_dosmode()・smb_set_file_size()・smb_set_file_time()・smb_set_file_unix_basic()・smb_set_file_unix_info2()・smb_set_file_unix_link()・smb_set_posix_acl()・smb_unix_mknod()・store_memory_creds()・sync_file()・unix_convert()・unlink_internals().
01584 { 01585 int i = 0; 01586 01587 if (unix_error == 0) 01588 return NT_STATUS_OK; 01589 01590 /* Look through list */ 01591 while(unix_dos_nt_errmap[i].unix_error != 0) { 01592 if (unix_dos_nt_errmap[i].unix_error == unix_error) 01593 return unix_dos_nt_errmap[i].nt_error; 01594 i++; 01595 } 01596 01597 /* Default return */ 01598 return NT_STATUS_ACCESS_DENIED; 01599 }
uint8 dos_class |
uint32 dos_code |
errormap.c の 51 行で定義されています。
struct { ... } ntstatus_to_dos_map[] [static] |
参照元 ntstatus_to_dos().
uint8 dos_class |
errormap.c の 620 行で定義されています。
uint32 dos_code |
errormap.c の 621 行で定義されています。
errormap.c の 622 行で定義されています。
struct { ... } dos_to_ntstatus_map[] [static] |
参照元 dos_to_ntstatus().
errormap.c の 875 行で定義されています。
errormap.c の 876 行で定義されています。
参照元 cmd_spoolss_addform()・cmd_spoolss_deleteform()・cmd_spoolss_enum_drivers()・cmd_spoolss_enum_forms()・cmd_spoolss_getdriver()・cmd_spoolss_getform()・cmd_spoolss_open_printer_ex()・cmd_spoolss_printercmp()・cmd_spoolss_setform()・compare_printer()・compare_printer_secdesc()・dos_errstr()・py_werror_tuple()・spoolss_addprinterdriver()・spoolss_addprinterex()・spoolss_enumports()・spoolss_enumprinterdrivers()・spoolss_enumprinters()・spoolss_getprinterdriverdir()・spoolss_hnd_addform()・spoolss_hnd_deleteform()・spoolss_hnd_deleteprinterdata()・spoolss_hnd_deleteprinterdataex()・spoolss_hnd_deleteprinterkey()・spoolss_hnd_enddocprinter()・spoolss_hnd_endpageprinter()・spoolss_hnd_enumforms()・spoolss_hnd_enumjobs()・spoolss_hnd_enumprinterdata()・spoolss_hnd_enumprinterdataex()・spoolss_hnd_enumprinterkey()・spoolss_hnd_getform()・spoolss_hnd_getjob()・spoolss_hnd_getprinter()・spoolss_hnd_getprinterdata()・spoolss_hnd_getprinterdataex()・spoolss_hnd_getprinterdriver()・spoolss_hnd_setform()・spoolss_hnd_setjob()・spoolss_hnd_setprinter()・spoolss_hnd_setprinterdata()・spoolss_hnd_setprinterdataex()・spoolss_hnd_startdocprinter()・spoolss_hnd_startpageprinter()・spoolss_hnd_writeprinter()・spoolss_openprinter()・werror_to_ntstatus().
struct { ... } ntstatus_to_werror_map[] [static] |
errormap.c の 1415 行で定義されています。
errormap.c の 1416 行で定義されています。
struct { ... } werror_to_ntstatus_map[] [static] |
参照元 werror_to_ntstatus().
struct unix_error_map unix_dos_nt_errmap[] |