ast_std.h revision 3e14f97f673e8a630f076077de35afdd43dc1587
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/***********************************************************************
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* This software is part of the ast package *
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner* Copyright (c) 1985-2010 AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* and is licensed under the *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Common Public License, Version 1.0 *
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin* by AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* A copy of the License is available at *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Information and Software Systems Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* AT&T Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Florham Park NJ *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Glenn Fowler <gsf@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* David Korn <dgk@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Phong Vo <kpv@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin***********************************************************************/
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Advanced Software Technology Library
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * AT&T Research
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * a union of standard headers that works
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * with local extensions enabled
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * and local omission compensation
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* locale stuff */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define extern __EXPORT__
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzextern char* getenv(const char*);
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chinextern char* setenviron(const char*);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern char* setlocale(int, const char*);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern char* strerror(int);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * maintain this order when adding categories
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chintypedef struct
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin int (*collate)(const char*, const char*);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define extern extern __EXPORT__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define extern extern __IMPORT__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* largefile hackery -- ast uses the large versions by default */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* direct macro access for bsd crossover */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__cplusplus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(memcpy) && !defined(_lib_memcpy) && defined(_lib_bcopy)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(remove)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern int remove(const char*);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(rename)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern int rename(const char*, const char*);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(strchr) && !defined(_lib_strchr) && defined(_lib_index)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(strrchr) && !defined(_lib_strrchr) && defined(_lib_rindex)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* and now introducing prototypes botched by the standard(s) */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define extern __EXPORT__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern int _ast_getpgrp(void);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * and finally, standard interfaces hijacked by ast
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner * _AST_STD_I delays headers that require <ast_map.h>