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