ls.h revision 96892
1340084Svangyzen
2340084Svangyzen/*
3340084Svangyzen * Copyright (c) 1989, 1993
4340084Svangyzen *	The Regents of the University of California.  All rights reserved.
5340084Svangyzen *
6340084Svangyzen * This code is derived from software contributed to Berkeley by
7340084Svangyzen * Michael Fischbein.
8340084Svangyzen *
9340084Svangyzen * Redistribution and use in source and binary forms, with or without
10340084Svangyzen * modification, are permitted provided that the following conditions
11340084Svangyzen * are met:
12340084Svangyzen * 1. Redistributions of source code must retain the above copyright
13340084Svangyzen *    notice, this list of conditions and the following disclaimer.
14340084Svangyzen * 2. Redistributions in binary form must reproduce the above copyright
15340084Svangyzen *    notice, this list of conditions and the following disclaimer in the
16340084Svangyzen *    documentation and/or other materials provided with the distribution.
17340084Svangyzen * 3. All advertising materials mentioning features or use of this software
18340084Svangyzen *    must display the following acknowledgement:
19340084Svangyzen *	This product includes software developed by the University of
20340084Svangyzen *	California, Berkeley and its contributors.
21340084Svangyzen * 4. Neither the name of the University nor the names of its contributors
22340084Svangyzen *    may be used to endorse or promote products derived from this software
23340084Svangyzen *    without specific prior written permission.
24340084Svangyzen *
25340084Svangyzen * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26340084Svangyzen * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27340084Svangyzen * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28340084Svangyzen * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29340084Svangyzen * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30340084Svangyzen * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31340084Svangyzen * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32340084Svangyzen * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33340084Svangyzen * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34340084Svangyzen * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35340084Svangyzen * SUCH DAMAGE.
36340084Svangyzen *
37340084Svangyzen *	from: @(#)ls.h	8.1 (Berkeley) 5/31/93
38340084Svangyzen * $FreeBSD: head/bin/ls/ls.h 96892 2002-05-19 02:51:36Z tjr $
39340084Svangyzen */
40340084Svangyzen
41340084Svangyzen#define NO_PRINT	1
42340084Svangyzen
43340084Svangyzenextern long blocksize;		/* block size units */
44340084Svangyzen
45340084Svangyzenextern int f_accesstime;	/* use time of last access */
46340084Svangyzenextern int f_flags;		/* show flags associated with a file */
47340084Svangyzenextern int f_humanval;		/* show human-readable file sizes */
48340084Svangyzenextern int f_lomac;		/* show LOMAC attributes */
49340084Svangyzenextern int f_inode;		/* print inode */
50340084Svangyzenextern int f_longform;		/* long listing format */
51340084Svangyzenextern int f_octal;		/* print unprintables in octal */
52340084Svangyzenextern int f_octal_escape;	/* like f_octal but use C escapes if possible */
53340084Svangyzenextern int f_nonprint;		/* show unprintables as ? */
54340084Svangyzenextern int f_sectime;		/* print the real time for all files */
55340084Svangyzenextern int f_size;		/* list size in short listing */
56340084Svangyzenextern int f_slash;		/* append a '/' if the file is a directory */
57340084Svangyzenextern int f_sortacross;	/* sort across rows, not down columns */
58340084Svangyzenextern int f_statustime;	/* use time of last mode change */
59340084Svangyzenextern int f_notabs;		/* don't use tab-separated multi-col output */
60340084Svangyzenextern int f_type;		/* add type character for non-regular files */
61340084Svangyzen#ifdef COLORLS
62340084Svangyzenextern int f_color;		/* add type in color for non-regular files */
63340084Svangyzen#endif
64340084Svangyzen
65340084Svangyzentypedef struct {
66340084Svangyzen	FTSENT *list;
67340084Svangyzen	u_long btotal;
68340084Svangyzen	int bcfile;
69340084Svangyzen	int entries;
70340084Svangyzen	int maxlen;
71340084Svangyzen	u_int s_block;
72340084Svangyzen	u_int s_flags;
73340084Svangyzen	u_int s_lattr;
74340084Svangyzen	u_int s_group;
75340084Svangyzen	u_int s_inode;
76340084Svangyzen	u_int s_nlink;
77	u_int s_size;
78	u_int s_user;
79} DISPLAY;
80
81typedef struct {
82	char *user;
83	char *group;
84	char *flags;
85	char *lattr;
86	char data[1];
87} NAMES;
88