BSD 4_4 release
[unix-history] / usr / src / bin / ls / ls.h
index 1600a80..ab61480 100644 (file)
@@ -1,40 +1,72 @@
 /*
 /*
- * Copyright (c) 1989 The Regents of the University of California.
- * All rights reserved.
+ * 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.
  *
  *
  * This code is derived from software contributed to Berkeley by
  * Michael Fischbein.
  *
- * %sccs.include.redist.c%
+ * 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.
  *
  *
- *     @(#)ls.h        5.12 (Berkeley) %G%
+ * 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.
+ *
+ *     @(#)ls.h        8.1 (Berkeley) 5/31/93
  */
 
  */
 
-typedef struct _lsstruct {
-       char *name;                     /* file name */
-       int len;                        /* file name length */
-       struct stat lstat;              /* lstat(2) for file */
-} LS;
-
-/*
- * overload -- we probably have to save blocks and/or maxlen with the lstat
- * array, so tabdir() stuffs it into unused fields in the first stat structure.
- * If there's ever a type larger than u_long, fix this.  Any calls to qsort
- * must save and restore the values.
- */
-#define        st_btotal       st_flags
-#define        st_maxlen       st_gen
+#define NO_PRINT       1
 
 
-extern int errno;
+extern long blocksize;         /* block size units */
 
 extern int f_accesstime;       /* use time of last access */
 
 extern int f_accesstime;       /* use time of last access */
-extern int f_group;            /* show group ownership of a file */
+extern int f_flags;            /* show flags associated with a file */
 extern int f_inode;            /* print inode */
 extern int f_inode;            /* print inode */
-extern int f_kblocks;          /* print size in kilobytes */
 extern int f_longform;         /* long listing format */
 extern int f_sectime;          /* print the real time for all files */
 extern int f_longform;         /* long listing format */
 extern int f_sectime;          /* print the real time for all files */
-extern int f_singlecol;                /* use single column output */
 extern int f_size;             /* list size in short listing */
 extern int f_statustime;       /* use time of last mode change */
 extern int f_size;             /* list size in short listing */
 extern int f_statustime;       /* use time of last mode change */
-extern int f_total;            /* if precede with "total" line */
 extern int f_type;             /* add type character for non-regular files */
 extern int f_type;             /* add type character for non-regular files */
+
+typedef struct {
+       FTSENT *list;
+       u_long btotal;
+       int bcfile;
+       int entries;
+       int maxlen;
+       int s_block;
+       int s_flags;
+       int s_group;
+       int s_inode;
+       int s_nlink;
+       int s_size;
+       int s_user;
+} DISPLAY;
+
+typedef struct {
+       char *user;
+       char *group;
+       char *flags;
+       char data[1];
+} NAMES;