1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
/*
* Copyright (c) 1989 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 are permitted
* provided that: (1) source distributions retain this entire copyright
* notice and comment, and (2) distributions including binaries display
* the following acknowledgement: ``This product includes software
* developed by the University of California, Berkeley and its contributors''
* in the documentation or other materials provided with the distribution
* and in all advertising materials mentioning features or use of this
* software. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* @(#)ls.h 5.10 (Berkeley) 4/8/90
*/
#ifndef _FSP_LS_H_
#define _FSP_LS_H_ 1
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_dev
#define st_maxlen st_rdev
extern int f_accesstime; /* use time of last access */
extern int f_group; /* show group ownership of a file */
extern int f_inode; /* print inode */
extern int f_kblocks; /* print size in kilobytes */
extern int f_longform; /* long listing format */
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_total; /* if precede with "total" line */
extern int f_type; /* add type character for non-regular files */
/* cmp.c */
int namecmp (LS *, LS *);
int revnamecmp (LS *, LS *);
int modcmp (LS *, LS *);
int revmodcmp (LS *, LS *);
int acccmp (LS *, LS *);
int revacccmp (LS *, LS *);
int statcmp (LS *, LS *);
int revstatcmp (LS *, LS *);
/* ls.c */
void fls_main (int, char **);
/* print.c */
void printscol (LS *, int);
void printlong (LS *, int);
void printcol (LS *, int);
/* util.c */
void prcopy (char *, char *, int);
char *emalloc (int);
void nomem (void);
void usage (void);
/* clients/flscmd.c */
int ls_bad (int);
#endif /* _FSP_LS_H_ */
|