1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Michael Fischbein. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 2. Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in the 15 * documentation and/or other materials provided with the distribution. 16 * 3. All advertising materials mentioning features or use of this software 17 * must display the following acknowledgement: 18 * This product includes software developed by the University of 19 * California, Berkeley and its contributors. 20 * 4. Neither the name of the University nor the names of its contributors 21 * may be used to endorse or promote products derived from this software 22 * without specific prior written permission. 23 * 24 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 25 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 27 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)ls.h 8.1 (Berkeley) 5/31/93 37 * $FreeBSD: src/bin/ls/ls.h,v 1.18 2002/05/19 02:51:36 tjr Exp $ 38 */ 39 40#define NO_PRINT 1 41 42extern long blocksize; /* block size units */ 43 44extern int f_accesstime; /* use time of last access */ 45extern int f_birthtime; /* use time of file birth */ 46extern int f_flags; /* show flags associated with a file */ 47extern int f_humanval; /* show human-readable file sizes */ 48extern int f_inode; /* print inode */ 49extern int f_longform; /* long listing format */ 50extern int f_octal; /* print unprintables in octal */ 51extern int f_octal_escape; /* like f_octal but use C escapes if possible */ 52extern int f_nonprint; /* show unprintables as ? */ 53extern int f_sectime; /* print the real time for all files */ 54extern int f_size; /* list size in short listing */ 55extern int f_slash; /* append a '/' if the file is a directory */ 56extern int f_sortacross; /* sort across rows, not down columns */ 57extern int f_statustime; /* use time of last mode change */ 58extern int f_notabs; /* don't use tab-separated multi-col output */ 59extern int f_type; /* add type character for non-regular files */ 60extern int f_acl; /* print ACLs in long format */ 61extern int f_xattr; /* print extended attributes in long format */ 62extern int f_group; /* list group without owner */ 63extern int f_owner; /* list owner without group */ 64#ifdef COLORLS 65extern int f_color; /* add type in color for non-regular files */ 66#endif 67extern int f_numericonly; /* don't convert uid/gid to name */ 68 69#ifdef __APPLE__ 70#include <sys/acl.h> 71#endif // __APPLE__ 72 73typedef struct { 74 FTSENT *list; 75 u_int64_t btotal; 76 int bcfile; 77 int entries; 78 int maxlen; 79 u_int s_block; 80 u_int s_flags; 81 u_int s_lattr; 82 u_int s_group; 83 u_int s_inode; 84 u_int s_nlink; 85 u_int s_size; 86 u_int s_user; 87} DISPLAY; 88 89typedef struct { 90 char *user; 91 char *group; 92 char *flags; 93#ifndef __APPLE__ 94 char *lattr; 95#else 96 char *xattr_names; /* f_xattr */ 97 int *xattr_sizes; 98 acl_t acl; /* f_acl */ 99 int xattr_count; 100 char mode_suffix; /* @ | + | <space> */ 101#endif /* __APPLE__ */ 102 char data[1]; 103} NAMES; 104