xref: /freebsd/bin/ls/extern.h (revision 90aea514c6249118e880d75972d063362f4bf492)
14b88c807SRodney W. Grimes /*-
28a16b7a1SPedro F. Giffuni  * SPDX-License-Identifier: BSD-3-Clause
38a16b7a1SPedro F. Giffuni  *
44b88c807SRodney W. Grimes  * Copyright (c) 1991, 1993
54b88c807SRodney W. Grimes  *	The Regents of the University of California.  All rights reserved.
64b88c807SRodney W. Grimes  *
74b88c807SRodney W. Grimes  * Redistribution and use in source and binary forms, with or without
84b88c807SRodney W. Grimes  * modification, are permitted provided that the following conditions
94b88c807SRodney W. Grimes  * are met:
104b88c807SRodney W. Grimes  * 1. Redistributions of source code must retain the above copyright
114b88c807SRodney W. Grimes  *    notice, this list of conditions and the following disclaimer.
124b88c807SRodney W. Grimes  * 2. Redistributions in binary form must reproduce the above copyright
134b88c807SRodney W. Grimes  *    notice, this list of conditions and the following disclaimer in the
144b88c807SRodney W. Grimes  *    documentation and/or other materials provided with the distribution.
15fbbd9655SWarner Losh  * 3. Neither the name of the University nor the names of its contributors
164b88c807SRodney W. Grimes  *    may be used to endorse or promote products derived from this software
174b88c807SRodney W. Grimes  *    without specific prior written permission.
184b88c807SRodney W. Grimes  *
194b88c807SRodney W. Grimes  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
204b88c807SRodney W. Grimes  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
214b88c807SRodney W. Grimes  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
224b88c807SRodney W. Grimes  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
234b88c807SRodney W. Grimes  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
244b88c807SRodney W. Grimes  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
254b88c807SRodney W. Grimes  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
264b88c807SRodney W. Grimes  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
274b88c807SRodney W. Grimes  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
284b88c807SRodney W. Grimes  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
294b88c807SRodney W. Grimes  * SUCH DAMAGE.
304b88c807SRodney W. Grimes  */
314b88c807SRodney W. Grimes 
32e10ba800SKyle Evans #include <stdbool.h>
33e10ba800SKyle Evans 
3446251ddeSWarner Losh int	 acccmp(const FTSENT *, const FTSENT *);
3546251ddeSWarner Losh int	 revacccmp(const FTSENT *, const FTSENT *);
36fe79420eSJohn Baldwin int	 birthcmp(const FTSENT *, const FTSENT *);
37fe79420eSJohn Baldwin int	 revbirthcmp(const FTSENT *, const FTSENT *);
3846251ddeSWarner Losh int	 modcmp(const FTSENT *, const FTSENT *);
3946251ddeSWarner Losh int	 revmodcmp(const FTSENT *, const FTSENT *);
4046251ddeSWarner Losh int	 namecmp(const FTSENT *, const FTSENT *);
4146251ddeSWarner Losh int	 revnamecmp(const FTSENT *, const FTSENT *);
42*e2662256SAymeric Wibo int	 verscmp(const FTSENT *, const FTSENT *);
43*e2662256SAymeric Wibo int	 revverscmp(const FTSENT *, const FTSENT *);
4446251ddeSWarner Losh int	 statcmp(const FTSENT *, const FTSENT *);
4546251ddeSWarner Losh int	 revstatcmp(const FTSENT *, const FTSENT *);
4671b8b748SDima Dorfman int	 sizecmp(const FTSENT *, const FTSENT *);
4771b8b748SDima Dorfman int	 revsizecmp(const FTSENT *, const FTSENT *);
484b88c807SRodney W. Grimes 
4940feca3aSMark Murray void	 printcol(const DISPLAY *);
5040feca3aSMark Murray void	 printlong(const DISPLAY *);
510fdf7fa8SConrad Meyer int	 printname(const char *);
5240feca3aSMark Murray void	 printscol(const DISPLAY *);
5340feca3aSMark Murray void	 printstream(const DISPLAY *);
5446251ddeSWarner Losh void	 usage(void);
550fdf7fa8SConrad Meyer int	 prn_normal(const char *);
569052855aSMark Murray size_t	 len_octal(const char *, int);
570fdf7fa8SConrad Meyer int	 prn_octal(const char *);
580fdf7fa8SConrad Meyer int	 prn_printable(const char *);
5974985094SJosef Karthauser #ifdef COLORLS
6046251ddeSWarner Losh void	 parsecolors(const char *cs);
6146251ddeSWarner Losh void	 colorquit(int);
625a890e22SJosef Karthauser 
63fd4e4d60SAndrey A. Chernov extern	char	*ansi_fgcol;
64fd4e4d60SAndrey A. Chernov extern	char	*ansi_bgcol;
65fd4e4d60SAndrey A. Chernov extern	char	*ansi_coloff;
66c1499cf6SJosef Karthauser extern	char	*attrs_off;
67c1499cf6SJosef Karthauser extern	char	*enter_bold;
6897c31821SCameron Katri extern	char	*enter_underline;
69e10ba800SKyle Evans 
70e10ba800SKyle Evans extern int	 colorflag;
71e10ba800SKyle Evans extern bool	 explicitansi;
72e10ba800SKyle Evans 
73e10ba800SKyle Evans #define	COLORFLAG_NEVER		0
74e10ba800SKyle Evans #define	COLORFLAG_AUTO		1
75e10ba800SKyle Evans #define	COLORFLAG_ALWAYS	2
7674985094SJosef Karthauser #endif
7740feca3aSMark Murray extern int	termwidth;
78