diff options
author | Cameron Katri <me@cameronkatri.com> | 2021-05-09 14:20:58 -0400 |
---|---|---|
committer | Cameron Katri <me@cameronkatri.com> | 2021-05-09 14:20:58 -0400 |
commit | 5fd83771641d15c418f747bd343ba6738d3875f7 (patch) | |
tree | 5abf0f78f680d9837dbd93d4d4c3933bb7509599 /file_cmds/ls/ls.h | |
download | apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.gz apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.tar.zst apple_cmds-5fd83771641d15c418f747bd343ba6738d3875f7.zip |
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
Diffstat (limited to 'file_cmds/ls/ls.h')
-rw-r--r-- | file_cmds/ls/ls.h | 108 |
1 files changed, 108 insertions, 0 deletions
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 <sys/acl.h> +#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; /* @ | + | % | <space> */ +#endif /* __APPLE__ */ + char data[1]; +} NAMES; + +#endif /* _LS_H_ */ |