/* : : generated by proto : : */ /*********************************************************************** * * * This software is part of the ast package * * Copyright (c) 1985-2009 AT&T Intellectual Property * * and is licensed under the * * Common Public License, Version 1.0 * * by AT&T Intellectual Property * * * * A copy of the License is available at * * http://www.opensource.org/licenses/cpl1.0.txt * * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * * * * Information and Software Systems Research * * AT&T Research * * Florham Park NJ * * * * Glenn Fowler * * David Korn * * Phong Vo * * * ***********************************************************************/ /* * Glenn Fowler * AT&T Research * * ls formatter interface definitions */ #ifndef _LS_H #if !defined(__PROTO__) #include #endif #if !defined(__LINKAGE__) #define __LINKAGE__ /* 2004-08-11 transition */ #endif #define _LS_H #include #include #include /* * some systems (could it beee AIX) pollute the std name space */ #undef fileid #define fileid fileID #define LS_BLOCKSIZE 512 #define iblocks(p) _iblocks(p) #if _mem_st_rdev_stat #define idevice(p) ((p)->st_rdev) #define IDEVICE(p,v) ((p)->st_rdev=(v)) #else #define idevice(p) 0 #define IDEVICE(p,v) #endif #define LS_ATIME (1<<0) /* list st_atime */ #define LS_BLOCKS (1<<1) /* list blocks used by file */ #define LS_CTIME (1<<2) /* list st_ctime */ #define LS_EXTERNAL (1<<3) /* st_mode is modex canonical */ #define LS_INUMBER (1<<4) /* list st_ino */ #define LS_LONG (1<<5) /* long listing */ #define LS_MARK (1<<6) /* append file name marks */ #define LS_NOGROUP (1<<7) /* omit group name for LS_LONG */ #define LS_NOUSER (1<<8) /* omit user name for LS_LONG */ #define LS_NUMBER (1<<9) /* number instead of name */ #define LS_USER (1<<10) /* first user flag bit */ #define LS_W_BLOCKS 6 /* LS_BLOCKS field width */ #define LS_W_INUMBER 9 /* LS_INUMBER field width */ #define LS_W_LONG 57 /* LS_LONG width (w/o names) */ #define LS_W_LINK 4 /* link text width (w/o names) */ #define LS_W_MARK 1 /* LS_MARK field width */ #define LS_W_NAME 9 /* group|user name field width */ #if _BLD_ast && defined(__EXPORT__) #undef __MANGLE__ #define __MANGLE__ __LINKAGE__ __EXPORT__ #endif extern __MANGLE__ off_t _iblocks __PROTO__((struct stat*)); extern __MANGLE__ char* fmtdev __PROTO__((struct stat*)); extern __MANGLE__ char* fmtfs __PROTO__((struct stat*)); extern __MANGLE__ char* fmtls __PROTO__((char*, const char*, struct stat*, const char*, const char*, int)); extern __MANGLE__ int pathstat __PROTO__((const char*, struct stat*)); #undef __MANGLE__ #define __MANGLE__ __LINKAGE__ #endif