📄 test-xnet.c
字号:
return buf; } }}char *terrno_string(t_uscalar_t terr, t_scalar_t uerr){ switch (terr) { case TBADADDR: return ("[TBADADDR]"); case TBADOPT: return ("[TBADOPT]"); case TACCES: return ("[TACCES]"); case TBADF: return ("[TBADF]"); case TNOADDR: return ("[TNOADDR]"); case TOUTSTATE: return ("[TOUTSTATE]"); case TBADSEQ: return ("[TBADSEQ]"); case TSYSERR: return errno_string(uerr); case TLOOK: return ("[TLOOK]"); case TBADDATA: return ("[TBADDATA]"); case TBUFOVFLW: return ("[TBUFOVFLW]"); case TFLOW: return ("[TFLOW]"); case TNODATA: return ("[TNODATA]"); case TNODIS: return ("[TNODIS]"); case TNOUDERR: return ("[TNOUDERR]"); case TBADFLAG: return ("[TBADFLAG]"); case TNOREL: return ("[TNOREL]"); case TNOTSUPPORT: return ("[TNOTSUPPORT]"); case TSTATECHNG: return ("[TSTATECHNG]"); case TNOSTRUCTYPE: return ("[TNOSTRUCTYPE]"); case TBADNAME: return ("[TBADNAME]"); case TBADQLEN: return ("[TBADQLEN]"); case TADDRBUSY: return ("[TADDRBUSY]"); case TINDOUT: return ("[TINDOUT]"); case TPROVMISMATCH: return ("[TPROVMISMATCH]"); case TRESQLEN: return ("[TRESQLEN]"); case TRESADDR: return ("[TRESADDR]"); case TQFULL: return ("[TQFULL]"); case TPROTO: return ("[TPROTO]"); default: { static char buf[32]; snprintf(buf, sizeof(buf), "[%lu]", (ulong) terr); return buf; } }}const char *event_string(int event){ switch (event) { case __EVENT_EOF: return ("END OF FILE"); case __EVENT_NO_MSG: return ("NO MESSAGE"); case __EVENT_TIMEOUT: return ("TIMEOUT"); case __EVENT_UNKNOWN: return ("UNKNOWN"); case __RESULT_DECODE_ERROR: return ("DECODE ERROR"); case __RESULT_SCRIPT_ERROR: return ("SCRIPT ERROR"); case __RESULT_INCONCLUSIVE: return ("INCONCLUSIVE"); case __RESULT_SUCCESS: return ("SUCCESS"); case __RESULT_FAILURE: return ("FAILURE"); case __TEST_CONN_REQ: return ("T_CONN_REQ"); case __TEST_CONN_RES: return ("T_CONN_RES"); case __TEST_DISCON_REQ: return ("T_DISCON_REQ"); case __TEST_DATA_REQ: return ("T_DATA_REQ"); case __TEST_EXDATA_REQ: return ("T_EXDATA_REQ"); case __TEST_OPTDATA_REQ: return ("T_OPTDATA_REQ"); case __TEST_INFO_REQ: return ("T_INFO_REQ"); case __TEST_BIND_REQ: return ("T_BIND_REQ"); case __TEST_UNBIND_REQ: return ("T_UNBIND_REQ"); case __TEST_UNITDATA_REQ: return ("T_UNITDATA_REQ"); case __TEST_OPTMGMT_REQ: return ("T_OPTMGMT_REQ"); case __TEST_ORDREL_REQ: return ("T_ORDREL_REQ"); case __TEST_CONN_IND: return ("T_CONN_IND"); case __TEST_CONN_CON: return ("T_CONN_CON"); case __TEST_DISCON_IND: return ("T_DISCON_IND"); case __TEST_DATA_IND: return ("T_DATA_IND"); case __TEST_EXDATA_IND: return ("T_EXDATA_IND"); case __TEST_NRM_OPTDATA_IND: return ("T_OPTDATA_IND"); case __TEST_EXP_OPTDATA_IND: return ("T_OPTDATA_IND"); case __TEST_INFO_ACK: return ("T_INFO_ACK"); case __TEST_BIND_ACK: return ("T_BIND_ACK"); case __TEST_ERROR_ACK: return ("T_ERROR_ACK"); case __TEST_OK_ACK: return ("T_OK_ACK"); case __TEST_UNITDATA_IND: return ("T_UNITDATA_IND"); case __TEST_UDERROR_IND: return ("T_UDERROR_IND"); case __TEST_OPTMGMT_ACK: return ("T_OPTMGMT_ACK"); case __TEST_ORDREL_IND: return ("T_ORDREL_IND"); case __TEST_ADDR_REQ: return ("T_ADDR_REQ"); case __TEST_ADDR_ACK: return ("T_ADDR_ACK"); case __TEST_CAPABILITY_REQ: return ("T_CAPABILITY_REQ"); case __TEST_CAPABILITY_ACK: return ("T_CAPABILITY_ACK"); default: return ("(unexpected"); }}const char *ioctl_string(int cmd, intptr_t arg){ switch (cmd) { case I_NREAD: return ("I_NREAD"); case I_PUSH: return ("I_PUSH"); case I_POP: return ("I_POP"); case I_LOOK: return ("I_LOOK"); case I_FLUSH: return ("I_FLUSH"); case I_SRDOPT: return ("I_SRDOPT"); case I_GRDOPT: return ("I_GRDOPT"); case I_STR: if (arg) { struct strioctl *icp = (struct strioctl *) arg; switch (icp->ic_cmd) { case _O_TI_BIND: return ("_O_TI_BIND"); case O_TI_BIND: return ("O_TI_BIND"); case _O_TI_GETINFO: return ("_O_TI_GETINFO"); case O_TI_GETINFO: return ("O_TI_GETINFO"); case _O_TI_GETMYNAME: return ("_O_TI_GETMYNAME"); case _O_TI_GETPEERNAME: return ("_O_TI_GETPEERNAME"); case _O_TI_OPTMGMT: return ("_O_TI_OPTMGMT"); case O_TI_OPTMGMT: return ("O_TI_OPTMGMT"); case _O_TI_TLI_MODE: return ("_O_TI_TLI_MODE"); case _O_TI_UNBIND: return ("_O_TI_UNBIND"); case O_TI_UNBIND: return ("O_TI_UNBIND"); case _O_TI_XTI_CLEAR_EVENT: return ("_O_TI_XTI_CLEAR_EVENT"); case _O_TI_XTI_GET_STATE: return ("_O_TI_XTI_GET_STATE"); case _O_TI_XTI_HELLO: return ("_O_TI_XTI_HELLO"); case _O_TI_XTI_MODE: return ("_O_TI_XTI_MODE"); case TI_BIND: return ("TI_BIND"); case TI_CAPABILITY: return ("TI_CAPABILITY"); case TI_GETADDRS: return ("TI_GETADDRS"); case TI_GETINFO: return ("TI_GETINFO"); case TI_GETMYNAME: return ("TI_GETMYNAME"); case TI_GETPEERNAME: return ("TI_GETPEERNAME"); case TI_OPTMGMT: return ("TI_OPTMGMT"); case TI_SETMYNAME: return ("TI_SETMYNAME"); case TI_SETPEERNAME: return ("TI_SETPEERNAME"); case TI_SYNC: return ("TI_SYNC"); case TI_UNBIND: return ("TI_UNBIND"); } } return ("I_STR"); case I_SETSIG: return ("I_SETSIG"); case I_GETSIG: return ("I_GETSIG"); case I_FIND: return ("I_FIND"); case I_LINK: return ("I_LINK"); case I_UNLINK: return ("I_UNLINK"); case I_RECVFD: return ("I_RECVFD"); case I_PEEK: return ("I_PEEK"); case I_FDINSERT: return ("I_FDINSERT"); case I_SENDFD: return ("I_SENDFD");#if 0 case I_E_RECVFD: return ("I_E_RECVFD");#endif case I_SWROPT: return ("I_SWROPT"); case I_GWROPT: return ("I_GWROPT"); case I_LIST: return ("I_LIST"); case I_PLINK: return ("I_PLINK"); case I_PUNLINK: return ("I_PUNLINK"); case I_FLUSHBAND: return ("I_FLUSHBAND"); case I_CKBAND: return ("I_CKBAND"); case I_GETBAND: return ("I_GETBAND"); case I_ATMARK: return ("I_ATMARK"); case I_SETCLTIME: return ("I_SETCLTIME"); case I_GETCLTIME: return ("I_GETCLTIME"); case I_CANPUT: return ("I_CANPUT");#if 0 case I_SERROPT: return ("I_SERROPT"); case I_GERROPT: return ("I_GERROPT"); case I_ANCHOR: return ("I_ANCHOR");#endif#if 0 case I_S_RECVFD: return ("I_S_RECVFD"); case I_STATS: return ("I_STATS"); case I_BIGPIPE: return ("I_BIGPIPE");#endif#if 0 case I_GETTP: return ("I_GETTP"); case I_AUTOPUSH: return ("I_AUTOPUSH"); case I_HEAP_REPORT: return ("I_HEAP_REPORT"); case I_FIFO: return ("I_FIFO"); case I_PUTPMSG: return ("I_PUTPMSG"); case I_GETPMSG: return ("I_GETPMSG"); case I_FATTACH: return ("I_FATTACH"); case I_FDETACH: return ("I_FDETACH"); case I_PIPE: return ("I_PIPE");#endif default: return ("(unexpected)"); }}const char *signal_string(int signum){ switch (signum) { case SIGHUP: return ("SIGHUP"); case SIGINT: return ("SIGINT"); case SIGQUIT: return ("SIGQUIT"); case SIGILL: return ("SIGILL"); case SIGABRT: return ("SIGABRT"); case SIGFPE: return ("SIGFPE"); case SIGKILL: return ("SIGKILL"); case SIGSEGV: return ("SIGSEGV"); case SIGPIPE: return ("SIGPIPE"); case SIGALRM: return ("SIGALRM"); case SIGTERM: return ("SIGTERM"); case SIGUSR1: return ("SIGUSR1"); case SIGUSR2: return ("SIGUSR2"); case SIGCHLD: return ("SIGCHLD"); case SIGCONT: return ("SIGCONT"); case SIGSTOP: return ("SIGSTOP"); case SIGTSTP: return ("SIGTSTP"); case SIGTTIN: return ("SIGTTIN"); case SIGTTOU: return ("SIGTTOU"); case SIGBUS: return ("SIGBUS"); case SIGPOLL: return ("SIGPOLL"); case SIGPROF: return ("SIGPROF"); case SIGSYS: return ("SIGSYS"); case SIGTRAP: return ("SIGTRAP"); case SIGURG: return ("SIGURG"); case SIGVTALRM: return ("SIGVTALRM"); case SIGXCPU: return ("SIGXCPU"); case SIGXFSZ: return ("SIGXFSZ"); default: return ("unknown"); }}const char *poll_string(short events){ if (events & POLLIN) return ("POLLIN"); if (events & POLLPRI) return ("POLLPRI"); if (events & POLLOUT) return ("POLLOUT"); if (events & POLLRDNORM) return ("POLLRDNORM"); if (events & POLLRDBAND) return ("POLLRDBAND"); if (events & POLLWRNORM) return ("POLLWRNORM"); if (events & POLLWRBAND) return ("POLLWRBAND"); if (events & POLLERR) return ("POLLERR"); if (events & POLLHUP) return ("POLLHUP"); if (events & POLLNVAL) return ("POLLNVAL"); if (events & POLLMSG) return ("POLLMSG"); return ("none");}const char *poll_events_string(short events){ static char string[256] = ""; int offset = 0, size = 256, len = 0; if (events & POLLIN) { len = snprintf(string + offset, size, "POLLIN|"); offset += len; size -= len; } if (events & POLLPRI) { len = snprintf(string + offset, size, "POLLPRI|"); offset += len; size -= len; } if (events & POLLOUT) { len = snprintf(string + offset, size, "POLLOUT|"); offset += len; size -= len; } if (events & POLLRDNORM) { len = snprintf(string + offset, size, "POLLRDNORM|"); offset += len; size -= len; } if (events & POLLRDBAND) { len = snprintf(string + offset, size, "POLLRDBAND|"); offset += len; size -= len; } if (events & POLLWRNORM) { len = snprintf(string + offset, size, "POLLWRNORM|"); offset += len; size -= len; } if (events & POLLWRBAND) { len = snprintf(string + offset, size, "POLLWRBAND|"); offset += len; size -= len; } if (events & POLLERR) { len = snprintf(string + offset, size, "POLLERR|"); offset += len; size -= len; } if (events & POLLHUP) { len = snprintf(string + offset, size, "POLLHUP|"); offset += len; size -= len; } if (events & POLLNVAL) { len = snprintf(string + offset, size, "POLLNVAL|"); offset += len; size -= len; } if (events & POLLMSG) { len = snprintf(string + offset, size, "POLLMSG|"); offset += len; size -= len; } return (string);}const char *service_type(t_uscalar_t type){ switch (type) { case T_CLTS: return ("T_CLTS"); case T_COTS: return ("T_COTS"); case T_COTS_ORD: return ("T_COTS_ORD"); default: return ("(unknown)"); }}const char *state_string(t_uscalar_t state){ switch (state) { case TS_UNBND: return ("TS_UNBND"); case TS_WACK_BREQ: return ("TS_WACK_BREQ"); case TS_WACK_UREQ: return ("TS_WACK_UREQ"); case TS_IDLE: return ("TS_IDLE"); case TS_WACK_OPTREQ: return ("TS_WACK_OPTREQ"); case TS_WACK_CREQ: return ("TS_WACK_CREQ"); case TS_WCON_CREQ: return ("TS_WCON_CREQ"); case TS_WRES_CIND: return ("TS_WRES_CIND"); case TS_WACK_CRES: return ("TS_WACK_CRES"); case TS_DATA_XFER: return ("TS_DATA_XFER");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -