Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/include/vorbis/../errno.h
Real path: /usr/include/errno.h
Zurück
/* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * Copyright (c) 1988, 2016, Oracle and/or its affiliates. All rights reserved. */ #ifndef _ERRNO_H #define _ERRNO_H /* * Error codes */ #include <sys/ccompile.h> #include <sys/errno.h> #if defined(_STDC_C11_BCI) #include <iso/types_c11_impl.h> /* C11 AnnexK Bound-checking interfaces */ #endif /* _STDC_C11_BCI */ #ifdef __cplusplus extern "C" { #endif /* * The Issue 7 (XPG7) revision of the Posix standard states: * NAME * errno - error return value * SYNOPSIS * #include <errno.h> * DESCRIPTION * The lvalue errno is used by many functions to * return error values. * ... * Applications shall obtain the definition of errno * by the inclusion of <errno.h>. * ... * It is unspecified whether errno is a macro or an * identifier declared with external linkage. If a * macro definition is suppressed in order to access * an actual object, or a program defines an identifier * with the name errno, the behavior is undefined. * * The Issue 6 (XPG6) revision of the Posix standard says: * Obsolescent text regarding defining errno as: * extern int errno; * is removed. * * The Issue 5 (XPG5) revision of the Posix standard says: * The DESCRIPTION no longer states that conforming * implementations may support the declaration: * extern int errno; */ /* * For the Solaris implementation, errno is, by default, defined as: * #define errno (*(___errno())) * which allows this statement to compile correctly: * extern int errno; * But this definition will not catch violations such as: * using 'errno' as the name of a function argument. * using 'errno' as the name of an automatic variable. * So, as a debugging/correctness aid, if either __lint or _ERRNO_VERIFY * is defined we define it as: * #define errno (*(___errno(0))) * This definition causes the statement: * extern int errno; * to be flagged as a syntax error, along with all invalid declarations * of 'errno'. According to the standards quoted above, this is acceptable. * For maximum portability, an application should use this sequence: * #ifndef errno * extern int errno; * #endif */ #if defined(__lint) || defined(_ERRNO_VERIFY) extern int *___errno(int) __CONST; #define errno (*(___errno(0))) #else /* lint */ extern int *___errno(void) __CONST; #define errno (*(___errno())) #endif /* defined(__lint) || defined(_ERRNO_VERIFY) */ #pragma does_not_read_global_data(___errno) #pragma does_not_write_global_data(___errno) #pragma no_side_effect(___errno) #ifdef __cplusplus } #endif #endif /* _ERRNO_H */