From 5fd83771641d15c418f747bd343ba6738d3875f7 Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Sun, 9 May 2021 14:20:58 -0400 Subject: Import macOS userland adv_cmds-176 basic_cmds-55 bootstrap_cmds-116.100.1 developer_cmds-66 diskdev_cmds-667.40.1 doc_cmds-53.60.1 file_cmds-321.40.3 mail_cmds-35 misc_cmds-34 network_cmds-606.40.1 patch_cmds-17 remote_cmds-63 shell_cmds-216.60.1 system_cmds-880.60.2 text_cmds-106 --- file_cmds/ls/ls.h | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 file_cmds/ls/ls.h (limited to 'file_cmds/ls/ls.h') diff --git a/file_cmds/ls/ls.h b/file_cmds/ls/ls.h new file mode 100644 index 0000000..d1ef037 --- /dev/null +++ b/file_cmds/ls/ls.h @@ -0,0 +1,108 @@ +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Michael Fischbein. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * from: @(#)ls.h 8.1 (Berkeley) 5/31/93 + * $FreeBSD: src/bin/ls/ls.h,v 1.18 2002/05/19 02:51:36 tjr Exp $ + */ + +#ifndef _LS_H_ +#define _LS_H_ + +#define NO_PRINT 1 + +extern long blocksize; /* block size units */ + +extern int f_accesstime; /* use time of last access */ +extern int f_birthtime; /* use time of file birth */ +extern int f_flags; /* show flags associated with a file */ +extern int f_humanval; /* show human-readable file sizes */ +extern int f_inode; /* print inode */ +extern int f_longform; /* long listing format */ +extern int f_octal; /* print unprintables in octal */ +extern int f_octal_escape; /* like f_octal but use C escapes if possible */ +extern int f_nonprint; /* show unprintables as ? */ +extern int f_sectime; /* print the real time for all files */ +extern int f_size; /* list size in short listing */ +extern int f_slash; /* append a '/' if the file is a directory */ +extern int f_sortacross; /* sort across rows, not down columns */ +extern int f_statustime; /* use time of last mode change */ +extern int f_notabs; /* don't use tab-separated multi-col output */ +extern int f_type; /* add type character for non-regular files */ +extern int f_acl; /* print ACLs in long format */ +extern int f_xattr; /* print extended attributes in long format */ +extern int f_group; /* list group without owner */ +extern int f_owner; /* list owner without group */ +#ifdef COLORLS +extern int f_color; /* add type in color for non-regular files */ +#endif +extern int f_numericonly; /* don't convert uid/gid to name */ + +#ifdef __APPLE__ +#include +#endif // __APPLE__ + +typedef struct { + FTSENT *list; + u_int64_t btotal; + int bcfile; + int entries; + int maxlen; + u_int s_block; + u_int s_flags; + u_int s_lattr; + u_int s_group; + u_int s_inode; + u_int s_nlink; + u_int s_size; + u_int s_user; +} DISPLAY; + +typedef struct { + char *user; + char *group; + char *flags; +#ifndef __APPLE__ + char *lattr; +#else + char *xattr_names; /* f_xattr */ + int *xattr_sizes; + acl_t acl; /* f_acl */ + int xattr_count; + char mode_suffix; /* @ | + | % | */ +#endif /* __APPLE__ */ + char data[1]; +} NAMES; + +#endif /* _LS_H_ */ -- cgit v1.2.3-56-ge451