sys.h revision 12e21689bc88a77c7b5b9b220fec31e049e5ec0f
112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala/*	$NetBSD: sys.h,v 1.17 2011/09/28 14:08:04 christos Exp $	*/
212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala/*-
412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * Copyright (c) 1992, 1993
512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *	The Regents of the University of California.  All rights reserved.
612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *
712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * This code is derived from software contributed to Berkeley by
812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * Christos Zoulas of Cornell University.
912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *
1012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * Redistribution and use in source and binary forms, with or without
1112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * modification, are permitted provided that the following conditions
1212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * are met:
1312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * 1. Redistributions of source code must retain the above copyright
1412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *    notice, this list of conditions and the following disclaimer.
1512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * 2. Redistributions in binary form must reproduce the above copyright
1612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *    notice, this list of conditions and the following disclaimer in the
1712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *    documentation and/or other materials provided with the distribution.
1812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * 3. Neither the name of the University nor the names of its contributors
1912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *    may be used to endorse or promote products derived from this software
2012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *    without specific prior written permission.
2112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *
2212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * SUCH DAMAGE.
3312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *
3412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala *	@(#)sys.h	8.1 (Berkeley) 6/4/93
3512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala */
3612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
3712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala/*
3812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala * sys.h: Put all the stupid compiler and system dependencies here...
3912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala */
4012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef _h_sys
4112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#define	_h_sys
4212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
4312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifdef HAVE_SYS_CDEFS_H
4412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#include <sys/cdefs.h>
4512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
4612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
4712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__)  || __GNUC__ == 2 && __GNUC_MINOR__ < 8)
4812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# define __attribute__(A)
4912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
5012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
5112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef _DIAGASSERT
5212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# define _DIAGASSERT(x)
5312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
5412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
5512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef __BEGIN_DECLS
5612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# ifdef  __cplusplus
5712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#  define __BEGIN_DECLS  extern "C" {
5812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#  define __END_DECLS    }
5912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# else
6012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#  define __BEGIN_DECLS
6112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#  define __END_DECLS
6212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# endif
6312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
6412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
6512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef public
6612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# define public		/* Externally visible functions/variables */
6712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
6812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
6912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef private
7012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# define private	static	/* Always hidden internals */
7112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
7212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
7312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef protected
7412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# define protected	/* Redefined from elsewhere to "static" */
7512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala			/* When we want to hide everything	*/
7612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
7712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
7812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef __arraycount
7912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# define __arraycount(a) (sizeof(a) / sizeof(*(a)))
8012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
8112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
8212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef _PTR_T
8312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# define _PTR_T
8412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialatypedef void	*ptr_t;
8512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
8612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
8712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef _IOCTL_T
8812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala# define _IOCTL_T
8912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialatypedef void	*ioctl_t;
9012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
9112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
9212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#include <stdio.h>
9312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
9412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef HAVE_STRLCAT
9512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#define	strlcat libedit_strlcat
9612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialasize_t	strlcat(char *dst, const char *src, size_t size);
9712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
9812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
9912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef HAVE_STRLCPY
10012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#define	strlcpy libedit_strlcpy
10112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialasize_t	strlcpy(char *dst, const char *src, size_t size);
10212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
10312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
10412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef HAVE_FGETLN
10512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#define	fgetln libedit_fgetln
10612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialachar	*fgetln(FILE *fp, size_t *len);
10712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
10812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
10912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef HAVE_WCSDUP
11012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#include <wchar.h>
11112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialawchar_t *wcsdup(const wchar_t *);
11212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
11312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
11412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef _DIAGASSERT
11512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#define _DIAGASSERT(x)
11612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
11712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
11812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef __RCSID
11912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#define __RCSID(x)
12012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
12112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
12212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef HAVE_U_INT32_T
12312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialatypedef unsigned int	u_int32_t;
12412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
12512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
12612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#ifndef SIZE_T_MAX
12712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#define SIZE_T_MAX	((size_t)-1)
12812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
12912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
13012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#define	REGEX		/* Use POSIX.2 regular expression functions */
13112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#undef	REGEXP		/* Use UNIX V8 regular expression functions */
13212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
13312e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#if defined(__sun)
13412e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialaextern int tgetent(char *, const char *);
13512e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialaextern int tgetflag(char *);
13612e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialaextern int tgetnum(char *);
13712e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialaextern int tputs(const char *, int, int (*)(int));
13812e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialaextern char* tgoto(const char*, int, int);
13912e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fialaextern char* tgetstr(char*, char**);
14012e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif
14112e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala
14212e21689bc88a77c7b5b9b220fec31e049e5ec0fTodd Fiala#endif /* _h_sys */
143