| 1 | /*	$NetBSD: ls.h,v 1.19 2014/02/20 18:56:36 christos Exp $	*/ | 
| 2 |  | 
| 3 | /* | 
| 4 |  * Copyright (c) 1989, 1993 | 
| 5 |  *	The Regents of the University of California.  All rights reserved. | 
| 6 |  * | 
| 7 |  * This code is derived from software contributed to Berkeley by | 
| 8 |  * Michael Fischbein. | 
| 9 |  * | 
| 10 |  * Redistribution and use in source and binary forms, with or without | 
| 11 |  * modification, are permitted provided that the following conditions | 
| 12 |  * are met: | 
| 13 |  * 1. Redistributions of source code must retain the above copyright | 
| 14 |  *    notice, this list of conditions and the following disclaimer. | 
| 15 |  * 2. Redistributions in binary form must reproduce the above copyright | 
| 16 |  *    notice, this list of conditions and the following disclaimer in the | 
| 17 |  *    documentation and/or other materials provided with the distribution. | 
| 18 |  * 3. Neither the name of the University nor the names of its contributors | 
| 19 |  *    may be used to endorse or promote products derived from this software | 
| 20 |  *    without specific prior written permission. | 
| 21 |  * | 
| 22 |  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | 
| 23 |  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
| 24 |  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 
| 25 |  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | 
| 26 |  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 
| 27 |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | 
| 28 |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 
| 29 |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 
| 30 |  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 
| 31 |  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 
| 32 |  * SUCH DAMAGE. | 
| 33 |  * | 
| 34 |  *	@(#)ls.h	8.1 (Berkeley) 5/31/93 | 
| 35 |  */ | 
| 36 |  | 
| 37 | #define NO_PRINT	1 | 
| 38 |  | 
| 39 | extern long blocksize;		/* block size units */ | 
| 40 |  | 
| 41 | extern int f_accesstime;	/* use time of last access */ | 
| 42 | extern int f_flags;		/* show flags associated with a file */ | 
| 43 | extern int f_grouponly;		/* long listing without owner */ | 
| 44 | extern int f_humanize;		/* humanize size field */ | 
| 45 | extern int f_commas;        /* separate size field with commas */ | 
| 46 | extern int f_inode;		/* print inode */ | 
| 47 | extern int f_longform;		/* long listing format */ | 
| 48 | extern int f_octal;		/* print octal escapes for nongraphic characters */ | 
| 49 | extern int f_octal_escape;	/* like f_octal but use C escapes if possible */ | 
| 50 | extern int f_sectime;		/* print the real time for all files */ | 
| 51 | extern int f_size;		/* list size in short listing */ | 
| 52 | extern int f_statustime;	/* use time of last mode change */ | 
| 53 | extern int f_type;		/* add type character for non-regular files */ | 
| 54 | extern int f_typedir;		/* add type character for directories */ | 
| 55 | extern int f_nonprint;		/* show unprintables as ? */ | 
| 56 | extern int f_fullpath;		/* print full pathname, not filename */ | 
| 57 | extern int f_leafonly;		/* when recursing, print leaf names only */ | 
| 58 |  | 
| 59 | typedef struct { | 
| 60 | 	FTSENT *list; | 
| 61 | 	u_int64_t btotal; | 
| 62 | 	u_int64_t stotal; | 
| 63 | 	int entries; | 
| 64 | 	unsigned int maxlen; | 
| 65 | 	int s_block; | 
| 66 | 	int s_flags; | 
| 67 | 	int s_group; | 
| 68 | 	int s_inode; | 
| 69 | 	int s_nlink; | 
| 70 | 	int s_size; | 
| 71 | 	int s_user; | 
| 72 | 	int s_major; | 
| 73 | 	int s_minor; | 
| 74 | } DISPLAY; | 
| 75 |  | 
| 76 | typedef struct { | 
| 77 | 	char *user; | 
| 78 | 	char *group; | 
| 79 | 	char *flags; | 
| 80 | 	char data[1]; | 
| 81 | } NAMES; | 
| 82 |  |