⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mprlog.c

📁 samba最新软件
💻 C
📖 第 1 页 / 共 2 页
字号:
	} else {		return;	}}/*****************************************************************************//* *	Map the O/S error code to portable error codes. */int mprGetOsError(){#if WIN	int		rc;	rc = GetLastError();	/*	 *	Client has closed the pipe	 */	if (rc == ERROR_NO_DATA) {		return EPIPE;	}	return rc;#endif#if LINUX || VXWORKS || SOLARIS	return errno;#endif#if BREW	/*	 *	No such thing on Brew. Errors are per class	 */	return 0;#endif}/******************************************************************************/#if UNUSEDconst char *mprGetErrorMsg(int err){	/*	 *	MPR error messages. Declare here so we don't have any globals.	 */	char *mprErrMessages[] = {		/*    0 MPR_ERR_OK				*/  "Success", 		/* -201 MPR_ERR_GENERAL			*/  "General error", 		/* -202 MPR_ERR_ABORTED			*/  "Aborted", 		/* -203 MPR_ERR_ALREADY_EXISTS	*/  "Already exists", 		/* -204 MPR_ERR_BAD_ARGS		*/  "Bad args", 		/* -205 MPR_ERR_BAD_FORMAT		*/  "Bad format", 		/* -206 MPR_ERR_BAD_HANDLE		*/  "Bad handle", 		/* -207 MPR_ERR_BAD_STATE		*/  "Bad state", 		/* -208 MPR_ERR_BAD_SYNTAX		*/  "Bad syntax", 		/* -209 MPR_ERR_BAD_TYPE		*/  "Bad type", 		/* -210 MPR_ERR_BAD_VALUE		*/  "Bad value", 		/* -211 MPR_ERR_BUSY			*/  "Busy", 		/* -212 MPR_ERR_CANT_ACCESS		*/  "Can't access", 		/* -213 MPR_ERR_CANT_COMPLETE	*/  "Can't complete", 		/* -214 MPR_ERR_CANT_CREATE		*/  "Can't create", 		/* -215 MPR_ERR_CANT_INITIALIZE	*/  "Can't initialize", 		/* -216 MPR_ERR_CANT_OPEN		*/  "Can't open", 		/* -217 MPR_ERR_CANT_READ		*/  "Can't read", 		/* -218 MPR_ERR_CANT_WRITE		*/  "Can't write", 		/* -219 MPR_ERR_DELETED			*/  "Already deleted", 		/* -220 MPR_ERR_NETWORK			*/  "Network error", 		/* -221 MPR_ERR_NOT_FOUND		*/  "Not found", 		/* -222 MPR_ERR_NOT_INITIALIZED	*/  "Not initialized", 		/* -223 MPR_ERR_NOT_READY		*/  "Not ready", 		/* -224 MPR_ERR_READ_ONLY		*/  "Read only", 		/* -225 MPR_ERR_TIMEOUT			*/  "Timeout", 		/* -226 MPR_ERR_TOO_MANY		*/  "Too many", 		/* -227 MPR_ERR_WONT_FIT		*/  "Won't fit", 		/* -228 MPR_ERR_WOULD_BLOCK		*/  "Would block", 		/* -229 MPR_ERR_CANT_ALLOCATE	*/  "Can't allocate", 	};	int mprNumErr = sizeof(mprErrMessages) / sizeof(char*);/* *	Operating system error messages */#if WINchar *osErrMessages[] ={    /*  0              */  "No error",    /*  1 EPERM        */  "Operation not permitted",    /*  2 ENOENT       */  "No such file or directory",    /*  3 ESRCH        */  "No such process",    /*  4 EINTR        */  "Interrupted function call",    /*  5 EIO          */  "I/O error",    /*  6 ENXIO        */  "No such device or address",    /*  7 E2BIG        */  "Arg list too long",    /*  8 ENOEXEC      */  "Exec format error",    /*  9 EBADF        */  "Bad file number",    /* 10 ECHILD       */  "No child processes",    /* 11 EAGAIN       */  "Try again",    /* 12 ENOMEM       */  "Out of memory",    /* 13 EACCES       */  "Permission denied",    /* 14 EFAULT       */  "Bad address",    /* 15 ENOTBLK      */  "Unknown error",    /* 16 EBUSY        */  "Resource busy",    /* 17 EEXIST       */  "File exists",    /* 18 EXDEV        */  "Improper link",    /* 19 ENODEV       */  "No such device",    /* 20 ENOTDIR      */  "Not a directory",    /* 21 EISDIR       */  "Is a directory",    /* 22 EINVAL       */  "Invalid argument",    /* 23 ENFILE       */  "Too many open files in system",    /* 24 EMFILE       */  "Too many open files",    /* 25 ENOTTY       */  "Inappropriate I/O control operation",    /* 26 ETXTBSY      */  "Unknown error",    /* 27 EFBIG        */  "File too large",    /* 28 ENOSPC       */  "No space left on device",    /* 29 ESPIPE       */  "Invalid seek",    /* 30 EROFS        */  "Read-only file system",    /* 31 EMLINK       */  "Too many links",    /* 32 EPIPE        */  "Broken pipe",    /* 33 EDOM         */  "Domain error",    /* 34 ERANGE       */  "Result too large",    /* 35 EUCLEAN      */  "Unknown error",    /* 36 EDEADLK      */  "Resource deadlock would occur",    /* 37 UNKNOWN      */  "Unknown error",    /* 38 ENAMETOOLONG */  "Filename too long",    /* 39 ENOLCK       */  "No locks available",    /* 40 ENOSYS       */  "Function not implemented",    /* 41 ENOTEMPTY    */  "Directory not empty",    /* 42 EILSEQ       */  "Illegal byte sequence",    /* 43 ENETDOWN     */  "Network is down",    /* 44 ECONNRESET   */  "Connection reset",    /* 45 ECONNREFUSED */  "Connection refused",    /* 46 EADDRINUSE   */  "Address already in use"};#else /* WIN */char *osErrMessages[] ={	/*   0 		 			*/	"Success"	/*   1 EPERM 			*/	"Operation not permitted"	/*   2 ENOENT 			*/	"No such file or directory"	/*   3 ESRCH 			*/	"No such process"	/*   4 EINTR 			*/	"Interrupted system call"	/*   5 EIO 				*/	"I/O error"	/*   6 ENXIO 			*/	"No such device or address"	/*   7 E2BIG 			*/	"Arg list too long"	/*   8 ENOEXEC 			*/	"Exec format error"	/*   9 EBADF 			*/	"Bad file number"	/*  10 ECHILD 			*/	"No child processes"	/*  11 EAGAIN 			*/	"Try again"	/*  12 ENOMEM 			*/	"Out of memory"	/*  13 EACCES 			*/	"Permission denied"	/*  14 EFAULT 			*/	"Bad address"	/*  15 ENOTBLK 			*/	"Block device required"	/*  16 EBUSY 			*/	"Device or resource busy"	/*  17 EEXIST 			*/	"File exists"	/*  18 EXDEV 			*/	"Cross-device link"	/*  19 ENODEV 			*/	"No such device"	/*  20 ENOTDIR 			*/	"Not a directory"	/*  21 EISDIR 			*/	"Is a directory"	/*  22 EINVAL 			*/	"Invalid argument"	/*  23 ENFILE 			*/	"File table overflow"	/*  24 EMFILE 			*/	"Too many open files"	/*  25 ENOTTY 			*/	"Not a typewriter"	/*  26 ETXTBSY 			*/	"Text file busy"	/*  27 EFBIG 			*/	"File too large"	/*  28 ENOSPC 			*/	"No space left on device"	/*  29 ESPIPE 			*/	"Illegal seek"	/*  30 EROFS 			*/	"Read-only file system"	/*  31 EMLINK 			*/	"Too many links"	/*  32 EPIPE 			*/	"Broken pipe"	/*  33 EDOM 			*/	"Math argument out of domain of func"	/*  34 ERANGE 			*/	"Math result not representable"	/*  35 EDEADLK 			*/	"Resource deadlock would occur"	/*  36 ENAMETOOLONG 	*/	"File name too long"	/*  37 ENOLCK 			*/	"No record locks available"	/*  38 ENOSYS 			*/	"Function not implemented"	/*  39 ENOTEMPTY 		*/	"Directory not empty"	/*  40 ELOOP 			*/	"Too many symbolic links encountered"	/*  41 EWOULDBLOCK EAGAIN */"Operation would block"	/*  42 ENOMSG 			*/	"No message of desired type"	/*  43 EIDRM 			*/	"Identifier removed"#if !BLD_FEATURE_SQUEEZE	/*  44 ECHRNG 			*/	"Channel number out of range"	/*  45 EL2NSYNC 		*/	"Level 2 not synchronized"	/*  46 EL3HLT 			*/	"Level 3 halted"	/*  47 EL3RST 			*/	"Level 3 reset"	/*  48 ELNRNG 			*/	"Link number out of range"	/*  49 EUNATCH 			*/	"Protocol driver not attached"	/*  50 ENOCSI 			*/	"No CSI structure available"	/*  51 EL2HLT 			*/	"Level 2 halted"	/*  52 EBADE 			*/	"Invalid exchange"	/*  53 EBADR 			*/	"Invalid request descriptor"	/*  54 EXFULL 			*/	"Exchange full"	/*  55 ENOANO 			*/	"No anode"	/*  56 EBADRQC 			*/	"Invalid request code"	/*  57 EBADSLT 			*/	"Invalid slot"	/*  59 EBFONT 			*/	"Bad font file format"	/*  60 ENOSTR 			*/	"Device not a stream"	/*  61 ENODATA 			*/	"No data available"	/*  62 ETIME 			*/	"Timer expired"	/*  63 ENOSR 			*/	"Out of streams resources"	/*  64 ENONET 			*/	"Machine is not on the network"	/*  65 ENOPKG 			*/	"Package not installed"	/*  66 EREMOTE 			*/	"Object is remote"	/*  67 ENOLINK 			*/	"Link has been severed"	/*  68 EADV 			*/	"Advertise error"	/*  69 ESRMNT 			*/	"Srmount error"	/*  70 ECOMM 			*/	"Communication error on send"	/*  71 EPROTO 			*/	"Protocol error"	/*  72 EMULTIHOP 		*/	"Multihop attempted"	/*  73 EDOTDOT 			*/	"RFS specific error"	/*  74 EBADMSG 			*/	"Not a data message"	/*  75 EOVERFLOW 		*/	"Value too large for defined data type"	/*  76 ENOTUNIQ 		*/	"Name not unique on network"	/*  77 EBADFD 			*/	"File descriptor in bad state"	/*  78 EREMCHG 			*/	"Remote address changed"	/*  79 ELIBACC 			*/	"Can not access a needed shared library"	/*  80 ELIBBAD 			*/	"Accessing a corrupted shared library"	/*  81 ELIBSCN 			*/	".lib section in a.out corrupted"	/*  82 ELIBMAX 			*/	"Linking in too many shared libraries"	/*  83 ELIBEXEC 		*/	"Cannot exec a shared library directly"	/*  84 EILSEQ 			*/	"Illegal byte sequence"	/*  85 ERESTART 		*/	"Interrupted system call should be restarted"	/*  86 ESTRPIPE 		*/	"Streams pipe error"	/*  87 EUSERS 			*/	"Too many users"	/*  88 ENOTSOCK 		*/	"Socket operation on non-socket"	/*  89 EDESTADDRREQ		*/	"Destination address required"	/*  90 EMSGSIZE 		*/	"Message too long"	/*  91 EPROTOTYPE 		*/	"Protocol wrong type for socket"	/*  92 ENOPROTOOPT 		*/	"Protocol not available"	/*  93 EPROTONOSUPPORT 	*/	"Protocol not supported"	/*  94 ESOCKTNOSUPPORT 	*/	"Socket type not supported"	/*  95 EOPNOTSUPP 		*/	"Operation not supported on transport endpoint"	/*  96 EPFNOSUPPORT 	*/	"Protocol family not supported"	/*  97 EAFNOSUPPORT 	*/	"Address family not supported by protocol"	/*  98 EADDRINUSE 		*/	"Address already in use"	/*  99 EADDRNOTAVAIL 	*/	"Cannot assign requested address"	/* 100 ENETDOWN 		*/	"Network is down"	/* 101 ENETUNREACH 		*/	"Network is unreachable"	/* 102 ENETRESET 		*/	"Network dropped connection because of reset"	/* 103 ECONNABORTED 	*/	"Software caused connection abort"	/* 104 ECONNRESET 		*/	"Connection reset by peer"	/* 105 ENOBUFS 			*/	"No buffer space available"	/* 106 EISCONN 			*/	"Transport endpoint is already connected"	/* 107 ENOTCONN 		*/	"Transport endpoint is not connected"	/* 108 ESHUTDOWN 		*/	"Cannot send after transport endpoint shutdown"	/* 109 ETOOMANYREFS 	*/	"Too many references: cannot splice"	/* 110 ETIMEDOUT 		*/	"Connection timed out"	/* 111 ECONNREFUSED 	*/	"Connection refused"	/* 112 EHOSTDOWN 		*/	"Host is down"	/* 113 EHOSTUNREACH 	*/	"No route to host"	/* 114 EALREADY 		*/	"Operation already in progress"	/* 115 EINPROGRESS 		*/	"Operation now in progress"	/* 116 ESTALE 			*/	"Stale NFS file handle"	/* 117 EUCLEAN 			*/	"Structure needs cleaning"	/* 118 ENOTNAM 			*/	"Not a XENIX named type file"	/* 119 ENAVAIL 			*/	"No XENIX semaphores available"	/* 120 EISNAM 			*/	"Is a named type file"	/* 121 EREMOTEIO 		*/	"Remote I/O error"	/* 122 EDQUOT 			*/	"Quota exceeded"	/* 123 ENOMEDIUM 		*/	"No medium found"	/* 124 EMEDIUMTYPE 		*/	"Wrong medium type"};#endif /* BLD_FEATURE_SQUEEZE */#endif /* WIN */	int osNumErr = sizeof(osErrMessages) / sizeof(char*);	if (err < MPR_ERR_BASE) {		err = MPR_ERR_BASE - err;		if (err < 0 || err >= mprNumErr) {			return "Bad error code";		}		return mprErrMessages[err];	} else {		/*		 *	Negative O/S error code. Map to a positive standard Posix error.		 */		err = -err;		if (err < 0 || err >= osNumErr) {			return "Bad O/S error code";		}		return osErrMessages[err];	}}#endif/*****************************************************************************//* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim:tw=78 * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -