14887Schin /*********************************************************************** 24887Schin * * 34887Schin * This software is part of the ast package * 4*12068SRoger.Faulkner@Oracle.COM * Copyright (c) 1985-2010 AT&T Intellectual Property * 54887Schin * and is licensed under the * 64887Schin * Common Public License, Version 1.0 * 78462SApril.Chin@Sun.COM * by AT&T Intellectual Property * 84887Schin * * 94887Schin * A copy of the License is available at * 104887Schin * http://www.opensource.org/licenses/cpl1.0.txt * 114887Schin * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 124887Schin * * 134887Schin * Information and Software Systems Research * 144887Schin * AT&T Research * 154887Schin * Florham Park NJ * 164887Schin * * 174887Schin * Glenn Fowler <gsf@research.att.com> * 184887Schin * David Korn <dgk@research.att.com> * 194887Schin * Phong Vo <kpv@research.att.com> * 204887Schin * * 214887Schin ***********************************************************************/ 224887Schin #pragma prototyped 234887Schin /* 244887Schin * Glenn Fowler 254887Schin * AT&T Research 264887Schin * 274887Schin * ls formatter interface definitions 284887Schin */ 294887Schin 304887Schin #ifndef _LS_H 314887Schin #define _LS_H 324887Schin 334887Schin #include <ast_std.h> 344887Schin #include <ast_fs.h> 354887Schin #include <ast_mode.h> 364887Schin 374887Schin /* 384887Schin * some systems (could it beee AIX) pollute the std name space 394887Schin */ 404887Schin 414887Schin #undef fileid 424887Schin #define fileid fileID 434887Schin 444887Schin #define LS_BLOCKSIZE 512 454887Schin 464887Schin #define iblocks(p) _iblocks(p) 474887Schin 484887Schin #if _mem_st_rdev_stat 494887Schin #define idevice(p) ((p)->st_rdev) 504887Schin #define IDEVICE(p,v) ((p)->st_rdev=(v)) 514887Schin #else 524887Schin #define idevice(p) 0 534887Schin #define IDEVICE(p,v) 544887Schin #endif 554887Schin 564887Schin #define LS_ATIME (1<<0) /* list st_atime */ 574887Schin #define LS_BLOCKS (1<<1) /* list blocks used by file */ 584887Schin #define LS_CTIME (1<<2) /* list st_ctime */ 594887Schin #define LS_EXTERNAL (1<<3) /* st_mode is modex canonical */ 604887Schin #define LS_INUMBER (1<<4) /* list st_ino */ 614887Schin #define LS_LONG (1<<5) /* long listing */ 624887Schin #define LS_MARK (1<<6) /* append file name marks */ 634887Schin #define LS_NOGROUP (1<<7) /* omit group name for LS_LONG */ 644887Schin #define LS_NOUSER (1<<8) /* omit user name for LS_LONG */ 654887Schin #define LS_NUMBER (1<<9) /* number instead of name */ 664887Schin 674887Schin #define LS_USER (1<<10) /* first user flag bit */ 684887Schin 694887Schin #define LS_W_BLOCKS 6 /* LS_BLOCKS field width */ 7010898Sroland.mainz@nrubsig.org #define LS_W_INUMBER 9 /* LS_INUMBER field width */ 7110898Sroland.mainz@nrubsig.org #define LS_W_LONG 57 /* LS_LONG width (w/o names) */ 724887Schin #define LS_W_LINK 4 /* link text width (w/o names) */ 734887Schin #define LS_W_MARK 1 /* LS_MARK field width */ 744887Schin #define LS_W_NAME 9 /* group|user name field width */ 754887Schin 764887Schin #if _BLD_ast && defined(__EXPORT__) 774887Schin #define extern __EXPORT__ 784887Schin #endif 794887Schin 804887Schin extern off_t _iblocks(struct stat*); 814887Schin extern char* fmtdev(struct stat*); 824887Schin extern char* fmtfs(struct stat*); 834887Schin extern char* fmtls(char*, const char*, struct stat*, const char*, const char*, int); 844887Schin extern int pathstat(const char*, struct stat*); 854887Schin 864887Schin #undef extern 874887Schin 884887Schin #endif 89