syscall error number : errno

来源:互联网 发布:图片去码软件 编辑:程序博客网 时间:2024/04/30 08:05

kernel errno ,及native app 执行系统调用错误判断举例sqlite.c  Log Error  


#define unixLogError(a,b,c)     unixLogErrorAtLine(a,b,c,__LINE__)  //external/sqlite/dist/orig/sqlite3.c26558static int unixLogErrorAtLine(26559  int errcode,                    /* SQLite error code */26560  const char *zFunc,              /* Name of OS function that failed */26561  const char *zPath,              /* File path associated with error */26562  int iLine                       /* Source line number where error occurred */26563){26564  char *zErr;                     /* Message from strerror() or equivalent */26565  int iErrno = errno;             /* Saved syscall error number */
    .....................
26601  if( zPath==0 ) zPath = "";26602  sqlite3_log(errcode,26603      "os_unix.c:%d: (%d) %s(%s) - %s",26604      iLine, iErrno, zFunc, zPath, zErr26605  );2660626607  return errcode;


include/asm-generic/errno-base.h

#ifndef _ASM_GENERIC_ERRNO_BASE_H2#define _ASM_GENERIC_ERRNO_BASE_H34#defineEPERM 1/* Operation not permitted */5#defineENOENT 2/* No such file or directory */6#defineESRCH 3/* No such process */7#defineEINTR 4/* Interrupted system call */8#defineEIO 5/* I/O error */9#defineENXIO 6/* No such device or address */10#defineE2BIG 7/* Argument list too long */11#defineENOEXEC 8/* Exec format error */12#defineEBADF 9/* Bad file number */13#defineECHILD10/* No child processes */14#defineEAGAIN11/* Try again */15#defineENOMEM12/* Out of memory */16#defineEACCES13/* Permission denied */17#defineEFAULT14/* Bad address */18#defineENOTBLK15/* Block device required */19#defineEBUSY16/* Device or resource busy */20#defineEEXIST17/* File exists */21#defineEXDEV18/* Cross-device link */22#defineENODEV19/* No such device */23#defineENOTDIR20/* Not a directory */24#defineEISDIR21/* Is a directory */25#defineEINVAL22/* Invalid argument */26#defineENFILE23/* File table overflow */27#defineEMFILE24/* Too many open files */28#defineENOTTY25/* Not a typewriter */29#defineETXTBSY26/* Text file busy */30#defineEFBIG27/* File too large */31#defineENOSPC28/* No space left on device */32#defineESPIPE29/* Illegal seek */33#defineEROFS30/* Read-only file system */34#defineEMLINK31/* Too many links */35#defineEPIPE32/* Broken pipe */36#defineEDOM33/* Math argument out of domain of func */37#defineERANGE34/* Math result not representable */3839#endif

android.mk :

320 LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
321 LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
kernel generic header file :
uapi/linux/mmc/Kbuild:header-y += ioctl.h

0 0