xref: /openbsd-src/lib/libedit/sys.h (revision 53766283ce12196a597935c8809e1c03b54ac913)
1*53766283Sschwarze /*	$OpenBSD: sys.h,v 1.18 2016/05/10 11:53:54 schwarze Exp $	*/
2ddc81437Sschwarze /*	$NetBSD: sys.h,v 1.25 2016/04/11 18:56:31 christos Exp $	*/
3babb851aSmillert 
4df930be7Sderaadt /*-
5df930be7Sderaadt  * Copyright (c) 1992, 1993
6df930be7Sderaadt  *	The Regents of the University of California.  All rights reserved.
7df930be7Sderaadt  *
8df930be7Sderaadt  * This code is derived from software contributed to Berkeley by
9df930be7Sderaadt  * Christos Zoulas of Cornell University.
10df930be7Sderaadt  *
11df930be7Sderaadt  * Redistribution and use in source and binary forms, with or without
12df930be7Sderaadt  * modification, are permitted provided that the following conditions
13df930be7Sderaadt  * are met:
14df930be7Sderaadt  * 1. Redistributions of source code must retain the above copyright
15df930be7Sderaadt  *    notice, this list of conditions and the following disclaimer.
16df930be7Sderaadt  * 2. Redistributions in binary form must reproduce the above copyright
17df930be7Sderaadt  *    notice, this list of conditions and the following disclaimer in the
18df930be7Sderaadt  *    documentation and/or other materials provided with the distribution.
196580fee3Smillert  * 3. Neither the name of the University nor the names of its contributors
20df930be7Sderaadt  *    may be used to endorse or promote products derived from this software
21df930be7Sderaadt  *    without specific prior written permission.
22df930be7Sderaadt  *
23df930be7Sderaadt  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24df930be7Sderaadt  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25df930be7Sderaadt  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26df930be7Sderaadt  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27df930be7Sderaadt  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28df930be7Sderaadt  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29df930be7Sderaadt  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30df930be7Sderaadt  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31df930be7Sderaadt  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32df930be7Sderaadt  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33df930be7Sderaadt  * SUCH DAMAGE.
34df930be7Sderaadt  *
35df930be7Sderaadt  *	@(#)sys.h	8.1 (Berkeley) 6/4/93
36df930be7Sderaadt  */
37df930be7Sderaadt 
38df930be7Sderaadt /*
39df930be7Sderaadt  * sys.h: Put all the stupid compiler and system dependencies here...
40df930be7Sderaadt  */
41df930be7Sderaadt #ifndef _h_sys
42df930be7Sderaadt #define	_h_sys
43df930be7Sderaadt 
44d484b7d0Sotto #ifdef HAVE_SYS_CDEFS_H
45d484b7d0Sotto #include <sys/cdefs.h>
46d484b7d0Sotto #endif
47d484b7d0Sotto 
48fd7ad13fSguenther #if !defined(__attribute__) && defined(__cplusplus)
49d484b7d0Sotto # define __attribute__(A)
50d484b7d0Sotto #endif
51d484b7d0Sotto 
52aed0ee81Snicm #ifndef __BEGIN_DECLS
53aed0ee81Snicm # ifdef  __cplusplus
54aed0ee81Snicm #  define __BEGIN_DECLS  extern "C" {
55aed0ee81Snicm #  define __END_DECLS    }
56aed0ee81Snicm # else
57aed0ee81Snicm #  define __BEGIN_DECLS
58aed0ee81Snicm #  define __END_DECLS
59aed0ee81Snicm # endif
60aed0ee81Snicm #endif
61aed0ee81Snicm 
62*53766283Sschwarze #define protected __dso_hidden
63df930be7Sderaadt 
64aed0ee81Snicm #ifndef __arraycount
65aed0ee81Snicm # define __arraycount(a) (sizeof(a) / sizeof(*(a)))
66aed0ee81Snicm #endif
67aed0ee81Snicm 
68df930be7Sderaadt #include <stdio.h>
69df930be7Sderaadt 
70d484b7d0Sotto #ifndef HAVE_STRLCAT
71d484b7d0Sotto #define	strlcat libedit_strlcat
72d484b7d0Sotto size_t	strlcat(char *dst, const char *src, size_t size);
73d484b7d0Sotto #endif
74d484b7d0Sotto 
75d484b7d0Sotto #ifndef HAVE_STRLCPY
76d484b7d0Sotto #define	strlcpy libedit_strlcpy
77d484b7d0Sotto size_t	strlcpy(char *dst, const char *src, size_t size);
78d484b7d0Sotto #endif
79d484b7d0Sotto 
80f3a50c9eSschwarze #ifndef HAVE_GETLINE
81f3a50c9eSschwarze #define	getline libedit_getline
82f3a50c9eSschwarze ssize_t	getline(char **line, size_t *len, FILE *fp);
83d484b7d0Sotto #endif
84d484b7d0Sotto 
85df930be7Sderaadt #define	REGEX		/* Use POSIX.2 regular expression functions */
86df930be7Sderaadt #undef	REGEXP		/* Use UNIX V8 regular expression functions */
87df930be7Sderaadt 
88aed0ee81Snicm #if defined(__sun)
89aed0ee81Snicm extern int tgetent(char *, const char *);
90aed0ee81Snicm extern int tgetflag(char *);
91aed0ee81Snicm extern int tgetnum(char *);
92aed0ee81Snicm extern int tputs(const char *, int, int (*)(int));
93aed0ee81Snicm extern char* tgoto(const char*, int, int);
94aed0ee81Snicm extern char* tgetstr(char*, char**);
95aed0ee81Snicm #endif
96aed0ee81Snicm 
97df930be7Sderaadt #endif /* _h_sys */
98