Page 4 of 6 FirstFirst 123456 LastLast
Results 76 to 100 of 150
  1. #76
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic.
    Copyright (C) 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    /*
    * Never include <bits/ipctypes.h> directly.
    */

    #ifndef _BITS_IPCTYPES_H
    #define _BITS_IPCTYPES_H 1

    #include <bits/types.h>

    /* Used in `struct shmid_ds'. */
    # if __WORDSIZE == 32
    typedef unsigned short int __ipc_pid_t;
    # else
    typedef int __ipc_pid_t;
    # endif


    #endif /* bits/ipctypes.h */

  2. #77
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* libc-internal interface for mutex locks. Stub version.
    Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _BITS_LIBC_LOCK_H
    #define _BITS_LIBC_LOCK_H 1


    /* Define a lock variable NAME with storage class CLASS. The lock must be
    initialized with __libc_lock_init before it can be used (or define it
    with __libc_lock_define_initialized, below). Use `extern' for CLASS to
    declare a lock defined in another module. In public structure
    definitions you must use a pointer to the lock structure (i.e., NAME
    begins with a `*'), because its storage size will not be known outside
    of libc. */
    #define __libc_lock_define(CLASS,NAME)
    #define __libc_lock_define_recursive(CLASS,NAME)
    #define __rtld_lock_define_recursive(CLASS,NAME)
    #define __libc_rwlock_define(CLASS,NAME)

    /* Define an initialized lock variable NAME with storage class CLASS. */
    #define __libc_lock_define_initialized(CLASS,NAME)
    #define __libc_rwlock_define_initialized(CLASS,NAME)

    /* Define an initialized recursive lock variable NAME with storage
    class CLASS. */
    #define __libc_lock_define_initialized_recursive(CLASS,NAM E)
    #define __rtld_lock_define_initialized_recursive(CLASS,NAM E)

    /* Initialize the named lock variable, leaving it in a consistent, unlocked
    state. */
    #define __libc_lock_init(NAME)
    #define __rtld_lock_initialize(NAME)
    #define __libc_rwlock_init(NAME)

    /* Same as last but this time we initialize a recursive mutex. */
    #define __libc_lock_init_recursive(NAME)

    /* Finalize the named lock variable, which must be locked. It cannot be
    used again until __libc_lock_init is called again on it. This must be
    called on a lock variable before the containing storage is reused. */
    #define __libc_lock_fini(NAME)
    #define __libc_rwlock_fini(NAME)

    /* Finalize recursive named lock. */
    #define __libc_lock_fini_recursive(NAME)

    /* Lock the named lock variable. */
    #define __libc_lock_lock(NAME)
    #define __libc_rwlock_rdlock(NAME)
    #define __libc_rwlock_wrlock(NAME)

    /* Lock the recursive named lock variable. */
    #define __libc_lock_lock_recursive(NAME)
    #define __rtld_lock_lock_recursive(NAME)

    /* Try to lock the named lock variable. */
    #define __libc_lock_trylock(NAME) 0
    #define __libc_rwlock_tryrdlock(NAME) 0
    #define __libc_rwlock_trywrlock(NAME) 0

    /* Try to lock the recursive named lock variable. */
    #define __libc_lock_trylock_recursive(NAME) 0

    /* Unlock the named lock variable. */
    #define __libc_lock_unlock(NAME)
    #define __libc_rwlock_unlock(NAME)

    /* Unlock the recursive named lock variable. */
    #define __libc_lock_unlock_recursive(NAME)
    #define __rtld_lock_unlock_recursive(NAME)


    /* Define once control variable. */
    #define __libc_once_define(CLASS, NAME) CLASS int NAME = 0

    /* Call handler iff the first call. */
    #define __libc_once(ONCE_CONTROL, INIT_FUNCTION) \
    do { \
    if ((ONCE_CONTROL) == 0) { \
    INIT_FUNCTION (); \
    (ONCE_CONTROL) = 1; \
    } \
    } while (0)

    /* Get once control variable. */
    #define __libc_once_get(ONCE_CONTROL) \
    ((ONCE_CONTROL) == 1)

    /* Start a critical region with a cleanup function */
    #define __libc_cleanup_region_start(DOIT, FCT, ARG) \
    { \
    typeof (***(FCT)) *__save_FCT = (DOIT) ? (FCT) : 0; \
    typeof (ARG) __save_ARG = ARG; \
    /* close brace is in __libc_cleanup_region_end below. */

    /* End a critical region started with __libc_cleanup_region_start. */
    #define __libc_cleanup_region_end(DOIT) \
    if ((DOIT) && __save_FCT != 0) \
    (*__save_FCT)(__save_ARG); \
    }

    /* Sometimes we have to exit the block in the middle. */
    #define __libc_cleanup_end(DOIT) \
    if ((DOIT) && __save_FCT != 0) \
    (*__save_FCT)(__save_ARG); \

    #define __libc_cleanup_push(fct, arg) __libc_cleanup_region_start (1, fct, arg)
    #define __libc_cleanup_pop(execute) __libc_cleanup_region_end (execute)

    /* We need portable names for some of the functions. */
    #define __libc_mutex_unlock

    /* Type for key of thread specific data. */
    typedef int __libc_key_t;

    /* Create key for thread specific data. */
    #define __libc_key_create(KEY,DEST) ((void) (KEY), (void) (DEST), -1)

    /* Set thread-specific data associated with KEY to VAL. */
    #define __libc_setspecific(KEY,VAL) ((void) (KEY), (void) (VAL))

    /* Get thread-specific data associated with KEY. */
    #define __libc_getspecific(KEY) ((void) (KEY), (void *) 0)

    #endif /* bits/libc-lock.h */

  3. #78
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* libc-internal interface for thread-specific data. Stub or TLS version.
    Copyright (C) 1998,2001,2002,2008,2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _GENERIC_BITS_LIBC_TSD_H
    #define _GENERIC_BITS_LIBC_TSD_H 1

    /* This file defines the following macros for accessing a small fixed
    set of thread-specific `void *' data used only internally by libc.

    __libc_tsd_define(CLASS, TYPE, KEY) -- Define or declare a datum with TYPE
    for KEY. CLASS can be `static' for
    keys used in only one source file,
    empty for global definitions, or
    `extern' for global declarations.
    __libc_tsd_address(TYPE, KEY) -- Return the `TYPE *' pointing to
    the current thread's datum for KEY.
    __libc_tsd_get(TYPE, KEY) -- Return the `TYPE' datum for KEY.
    __libc_tsd_set(TYPE, KEY, VALUE) -- Set the datum for KEY to VALUE.

    The set of available KEY's will usually be provided as an enum,
    and contains (at least):
    _LIBC_TSD_KEY_MALLOC
    _LIBC_TSD_KEY_DL_ERROR
    _LIBC_TSD_KEY_RPC_VARS
    All uses must be the literal _LIBC_TSD_* name in the __libc_tsd_* macros.
    Some implementations may not provide any enum at all and instead
    using string pasting in the macros. */

    #include <tls.h>

    /* When full support for __thread variables is available, this interface is
    just a trivial wrapper for it. Without TLS, this is the generic/stub
    implementation for wholly single-threaded systems.

    We don't define an enum for the possible key values, because the KEYs
    translate directly into variables by macro magic. */

    #define __libc_tsd_define(CLASS, TYPE, KEY) \
    CLASS __thread TYPE __libc_tsd_##KEY attribute_tls_model_ie;

    #define __libc_tsd_address(TYPE, KEY) (&__libc_tsd_##KEY)
    #define __libc_tsd_get(TYPE, KEY) (__libc_tsd_##KEY)
    #define __libc_tsd_set(TYPE, KEY, VALUE) (__libc_tsd_##KEY = (VALUE))

    #endif /* bits/libc-tsd.h */

  4. #79
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    #error "Architecture-specific definition needed."

  5. #80
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    struct link_map_machine
    {
    /* empty by default */
    };

  6. #81
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* This file should define the implementation-specific limits described
    in posix[12]_lim.h. If there are no useful values to give a limit,
    don't define it. */

  7. #82
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Copyright (C) 1997,1998,1999,2000,2004,2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #if !defined _MATH_H && !defined _COMPLEX_H
    # error "Never use <bits/mathdef.h> directly; include <math.h> instead"
    #endif

    #if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
    # define _MATH_H_MATHDEF 1

    /* Normally, there is no long double type and the `float' and `double'
    expressions are evaluated as `double'. */
    typedef double float_t; /* `float' expressions are evaluated as
    `double'. */
    typedef double double_t; /* `double' expressions are evaluated as
    `double'. */

    /* The values returned by `ilogb' for 0 and NaN respectively. */
    # define FP_ILOGB0 (-2147483647)
    # define FP_ILOGBNAN 2147483647

    /* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
    builtins are supported. */
    #if __FP_FAST_FMA
    # define FP_FAST_FMA 1
    #endif

    #if __FP_FAST_FMAF
    # define FP_FAST_FMAF 1
    #endif

    #if __FP_FAST_FMAL
    # define FP_FAST_FMAL 1
    #endif

    #endif /* ISO C99 */

    #ifndef __NO_LONG_DOUBLE_MATH
    /* Signal that we do not really have a `long double'. The disables the
    declaration of all the `long double' function variants. */
    # define __NO_LONG_DOUBLE_MATH 1
    #endif

  8. #83
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* This file should provide inline versions of math functions.

    Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inline'.

    This file should define __MATH_INLINES if functions are actually defined as
    inlines. */

    #if !defined __NO_MATH_INLINES && defined __OPTIMIZE__

    /* Here goes the real code. */

    #endif

  9. #84
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Definitions for BSD-style memory management.
    Copyright (C) 1994-1998,2000,01,02,05 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    /* These are the bits used by 4.4 BSD and its derivatives. On systems
    (such as GNU) where these facilities are not system services but can be
    emulated in the C library, these are the definitions we emulate. */

    #ifndef _SYS_MMAN_H
    # error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
    #endif

    /* Protections are chosen from these bits, OR'd together. The
    implementation does not necessarily support PROT_EXEC or PROT_WRITE
    without PROT_READ. The only guarantees are that no writing will be
    allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */

    #define PROT_NONE 0x00 /* No access. */
    #define PROT_READ 0x04 /* Pages can be read. */
    #define PROT_WRITE 0x02 /* Pages can be written. */
    #define PROT_EXEC 0x01 /* Pages can be executed. */

    /* Flags contain mapping type, sharing type and options. */

    /* Mapping type (must choose one and only one of these). */
    #ifdef __USE_BSD
    # define MAP_FILE 0x0001 /* Mapped from a file or device. */
    # define MAP_ANON 0x0002 /* Allocated from anonymous virtual memory. */
    # define MAP_TYPE 0x000f /* Mask for type field. */
    # ifdef __USE_MISC
    # define MAP_ANONYMOUS MAP_ANON /* Linux name. */
    # endif
    #endif

    /* Sharing types (must choose one and only one of these). */
    #ifdef __USE_BSD
    # define MAP_COPY 0x0020 /* Virtual copy of region at mapping time. */
    #endif
    #define MAP_SHARED 0x0010 /* Share changes. */
    #define MAP_PRIVATE 0x0000 /* Changes private; copy pages on write. */

    /* Other flags. */
    #define MAP_FIXED 0x0100 /* Map address must be exactly as requested. */
    #ifdef __USE_BSD
    # define MAP_NOEXTEND 0x0200 /* For MAP_FILE, don't change file size. */
    # define MAP_HASSEMPHORE 0x0400 /* Region may contain semaphores. */
    # define MAP_INHERIT 0x0800 /* Region is retained after exec. */
    #endif

    /* Advice to `madvise'. */
    #ifdef __USE_BSD
    # define MADV_NORMAL 0 /* No further special treatment. */
    # define MADV_RANDOM 1 /* Expect random page references. */
    # define MADV_SEQUENTIAL 2 /* Expect sequential page references. */
    # define MADV_WILLNEED 3 /* Will need these pages. */
    # define MADV_DONTNEED 4 /* Don't need these pages. */
    #endif

    /* The POSIX people had to invent similar names for the same things. */
    #ifdef __USE_XOPEN2K
    # define POSIX_MADV_NORMAL 0 /* No further special treatment. */
    # define POSIX_MADV_RANDOM 1 /* Expect random page references. */
    # define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */
    # define POSIX_MADV_WILLNEED 3 /* Will need these pages. */
    # define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */
    #endif

    /* Flags to `msync'. */
    #define MS_ASYNC 1 /* Sync memory asynchronously. */
    #define MS_SYNC 0 /* Synchronous memory sync. */
    #define MS_INVALIDATE 2 /* Invalidate the caches. */

    /* Flags for `mremap'. */
    #ifdef __USE_GNU
    # define MREMAP_MAYMOVE 1 /* Mapping address may change. */
    # define MREMAP_FIXED 2 /* Fifth argument sets new address. */
    #endif

    /* Flags for `mlockall' (can be OR'd together). */
    #define MCL_CURRENT 1 /* Lock all currently mapped pages. */
    #define MCL_FUTURE 2 /* Lock all additions to address
    space. */

  10. #85
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Copyright (C) 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _MQUEUE_H
    # error "Never use <bits/mqueue.h> directly; include <mqueue.h> instead."
    #endif

    typedef int mqd_t;

    struct mq_attr
    {
    long int mq_flags; /* Message queue flags. */
    long int mq_maxmsg; /* Maximum number of messages. */
    long int mq_msgsize; /* Maximum message size. */
    long int mq_curmsgs; /* Number of messages currently queued. */
    };

  11. #86
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _SYS_MSG_H
    #error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
    #endif

    #include <bits/types.h>

    /* Define options for message queue functions. */
    #define MSG_NOERROR 010000 /* no error if message is too big */

    /* Types used in the structure definition. */
    typedef unsigned short int msgqnum_t;
    typedef unsigned short int msglen_t;


    /* Structure of record for one message inside the kernel.
    The type `struct __msg' is opaque. */
    struct msqid_ds
    {
    struct ipc_perm msg_perm; /* structure describing operation permission */
    __time_t msg_stime; /* time of last msgsnd command */
    __time_t msg_rtime; /* time of last msgrcv command */
    __time_t msg_ctime; /* time of last change */
    msgqnum_t msg_qnum; /* number of messages currently on queue */
    msglen_t msg_qbytes; /* max number of bytes allowed on queue */
    __pid_t msg_lspid; /* pid of last msgsnd() */
    __pid_t msg_lrpid; /* pid of last msgrcv() */
    };

  12. #87
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    #ifndef _MATH_H
    #error "Never use <bits/nan.h> directly; include <math.h> instead."
    #endif

    /* This file should define `NAN' on machines that have such things. */

  13. #88
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _NETDB_H
    # error "Never include <bits/netdb.h> directly; use <netdb.h> instead."
    #endif


    /* Description of data base entry for a single network. NOTE: here a
    poor assumption is made. The network number is expected to fit
    into an unsigned long int variable. */
    struct netent
    {
    char *n_name; /* Official name of network. */
    char **n_aliases; /* Alias list. */
    int n_addrtype; /* Net address type. */
    uint32_t n_net; /* Network number. */
    };

  14. #89
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Old-style Unix parameters and limits. Stub version.
    Copyright (C) 1995-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _SYS_PARAM_H
    # error "Never use <bits/param.h> directly; include <sys/param.h> instead."
    #endif

    /* This header is expected to define a few particular macros.

    The traditional BSD macros that correspond directly to POSIX <limits.h>
    macros don't need to be defined here if <bits/local_lim.h> defines the
    POSIX limit macro, as the common <sys/param.h> code will define each
    traditional name to its POSIX name if available.

    This file should define at least:

    EXEC_PAGESIZE
    */

  15. #90
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Copyright (C) 1997, 2000, 2001, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _SYS_POLL_H
    # error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
    #endif

    /* Event types that can be polled for. These bits may be set in `events'
    to indicate the interesting event types; they will appear in `revents'
    to indicate the status of the file descriptor. */
    #define POLLIN 01 /* There is data to read. */
    #define POLLPRI 02 /* There is urgent data to read. */
    #define POLLOUT 04 /* Writing now will not block. */

    #if defined __USE_XOPEN || defined __USE_XOPEN2K8
    /* These values are defined in XPG4.2 and later. */
    # define POLLRDNORM POLLIN /* Normal data may be read. */
    # define POLLRDBAND POLLPRI /* Priority data may be read. */
    # define POLLWRNORM POLLOUT /* Writing now will not block. */
    # define POLLWRBAND POLLOUT /* Priority data may be written. */
    #endif

    /* Event types always implicitly polled for. These bits need not be set in
    `events', but they will appear in `revents' to indicate the status of
    the file descriptor. */
    #define POLLERR 010 /* Error condition. */
    #define POLLHUP 020 /* Hung up. */
    #define POLLNVAL 040 /* Invalid polling request. */

  16. #91
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* This file should define the POSIX options described in <unistd.h>,
    or leave them undefined, as appropriate. */

  17. #92
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* No thread support. */

  18. #93
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Bit values & structures for resource limits. 4.4 BSD/generic GNU version.
    Copyright (C) 1994,1996,1997,1998,2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _SYS_RESOURCE_H
    # error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
    #endif

    #include <bits/types.h>

    /* These are the values for 4.4 BSD and GNU. Earlier BSD systems have a
    subset of these kinds of resource limit. In systems where `getrlimit'
    and `setrlimit' are not system calls, these are the values used by the C
    library to emulate them. */

    /* Kinds of resource limit. */
    enum __rlimit_resource
    {
    /* Per-process CPU limit, in seconds. */
    RLIMIT_CPU,
    #define RLIMIT_CPU RLIMIT_CPU
    /* Largest file that can be created, in bytes. */
    RLIMIT_FSIZE,
    #define RLIMIT_FSIZE RLIMIT_FSIZE
    /* Maximum size of data segment, in bytes. */
    RLIMIT_DATA,
    #define RLIMIT_DATA RLIMIT_DATA
    /* Maximum size of stack segment, in bytes. */
    RLIMIT_STACK,
    #define RLIMIT_STACK RLIMIT_STACK
    /* Largest core file that can be created, in bytes. */
    RLIMIT_CORE,
    #define RLIMIT_CORE RLIMIT_CORE
    /* Largest resident set size, in bytes.
    This affects swapping; processes that are exceeding their
    resident set size will be more likely to have physical memory
    taken from them. */
    RLIMIT_RSS,
    #define RLIMIT_RSS RLIMIT_RSS
    /* Locked-in-memory address space. */
    RLIMIT_MEMLOCK,
    #define RLIMIT_MEMLOCK RLIMIT_MEMLOCK
    /* Number of processes. */
    RLIMIT_NPROC,
    #define RLIMIT_NPROC RLIMIT_NPROC
    /* Number of open files. */
    RLIMIT_OFILE,
    RLIMIT_NOFILE = RLIMIT_OFILE, /* Another name for the same thing. */
    #define RLIMIT_OFILE RLIMIT_OFILE
    #define RLIMIT_NOFILE RLIMIT_NOFILE
    /* Maximum size of all socket buffers. */
    RLIMIT_SBSIZE,
    #define RLIMIT_SBSIZE RLIMIT_SBSIZE
    /* Maximum size in bytes of the process address space. */
    RLIMIT_AS,
    RLIMIT_VMEM = RLIMIT_AS, /* Another name for the same thing. */
    #define RLIMIT_AS RLIMIT_AS
    #define RLIMIT_VMEM RLIMIT_AS

    RLIMIT_NLIMITS, /* Number of limit flavors. */
    RLIM_NLIMITS = RLIMIT_NLIMITS /* Traditional name for same. */
    };

    /* Value to indicate that there is no limit. */
    #ifndef __USE_FILE_OFFSET64
    # define RLIM_INFINITY 0x7fffffff
    #else
    # define RLIM_INFINITY 0x7fffffffffffffffLL
    #endif

    #ifdef __USE_LARGEFILE64
    # define RLIM64_INFINITY 0x7fffffffffffffffLL
    #endif


    /* Type for resource quan y measurement. */
    #ifndef __USE_FILE_OFFSET64
    typedef __rlim_t rlim_t;
    #else
    typedef __rlim64_t rlim_t;
    #endif
    #ifdef __USE_LARGEFILE64
    typedef __rlim64_t rlim64_t;
    #endif

    struct rlimit
    {
    /* The current (soft) limit. */
    rlim_t rlim_cur;
    /* The hard limit. */
    rlim_t rlim_max;
    };

    #ifdef __USE_LARGEFILE64
    struct rlimit64
    {
    /* The current (soft) limit. */
    rlim64_t rlim_cur;
    /* The hard limit. */
    rlim64_t rlim_max;
    };
    #endif

    /* Whose usage statistics do you want? */
    enum __rusage_who
    /* The macro definitions are necessary because some programs want
    to test for operating system features with #ifdef RUSAGE_SELF.
    In ISO C the reflexive definition is a no-op. */
    {
    /* The calling process. */
    RUSAGE_SELF = 0,
    #define RUSAGE_SELF RUSAGE_SELF
    /* All of its terminated child processes. */
    RUSAGE_CHILDREN = -1
    #define RUSAGE_CHILDREN RUSAGE_CHILDREN
    };

    #define __need_timeval
    #include <bits/time.h> /* For `struct timeval'. */

    /* Structure which says how much of each resource has been used. */
    struct rusage
    {
    /* Total amount of user time used. */
    struct timeval ru_utime;
    /* Total amount of system time used. */
    struct timeval ru_stime;
    /* Maximum resident set size (in kilobytes). */
    long int ru_maxrss;
    /* Amount of sharing of text segment memory
    with other processes (kilobyte-seconds). */
    long int ru_ixrss;
    /* Amount of data segment memory used (kilobyte-seconds). */
    long int ru_idrss;
    /* Amount of stack memory used (kilobyte-seconds). */
    long int ru_isrss;
    /* Number of soft page faults (i.e. those serviced by reclaiming
    a page from the list of pages awaiting reallocation. */
    long int ru_minflt;
    /* Number of hard page faults (i.e. those that required I/O). */
    long int ru_majflt;
    /* Number of times a process was swapped out of physical memory. */
    long int ru_nswap;
    /* Number of input operations via the file system. Note: This
    and `ru_oublock' do not include operations with the cache. */
    long int ru_inblock;
    /* Number of output operations via the file system. */
    long int ru_oublock;
    /* Number of IPC messages sent. */
    long int ru_msgsnd;
    /* Number of IPC messages received. */
    long int ru_msgrcv;
    /* Number of signals delivered. */
    long int ru_nsignals;
    /* Number of voluntary context switches, i.e. because the process
    gave up the process before it had to (usually to wait for some
    resource to be available). */
    long int ru_nvcsw;
    /* Number of involuntary context switches, i.e. a higher priority process
    became runnable or the current process used up its time slice. */
    long int ru_nivcsw;
    };

    /* Priority limits. */
    #define PRIO_MIN -20 /* Minimum priority a process can have. */
    #define PRIO_MAX 20 /* Maximum priority a process can have. */

    /* The type of the WHICH argument to `getpriority' and `setpriority',
    indicating what flavor of en y the WHO argument specifies. */
    enum __priority_which
    {
    PRIO_PROCESS = 0, /* WHO is a process ID. */
    #define PRIO_PROCESS PRIO_PROCESS
    PRIO_PGRP = 1, /* WHO is a process group ID. */
    #define PRIO_PGRP PRIO_PGRP
    PRIO_USER = 2 /* WHO is a user ID. */
    #define PRIO_USER PRIO_USER
    };

  19. #94
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Definitions of constants and data structure for POSIX 1003.1b-1993
    scheduling interface.
    Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef __need_schedparam

    #ifndef _SCHED_H
    # error "Never include <bits/sched.h> directly; use <sched.h> instead."
    #endif


    /* Scheduling algorithms. */
    #define SCHED_OTHER 0
    #define SCHED_FIFO 1
    #define SCHED_RR 2

    /* Data structure to describe a process' schedulability. */
    struct sched_param
    {
    int __sched_priority;
    };

    #endif /* need schedparam */

    #if !defined __defined_schedparam \
    && (defined __need_schedparam || defined _SCHED_H)
    # define __defined_schedparam 1
    /* Data structure to describe a process' schedulability. */
    struct __sched_param
    {
    int __sched_priority;
    };
    # undef __need_schedparam
    #endif


    #if defined _SCHED_H && !defined __cpu_set_t_defined
    # define __cpu_set_t_defined
    /* Size definition for CPU sets. */
    # define __CPU_SETSIZE 1024
    # define __NCPUBITS (8 * sizeof (__cpu_mask))

    /* Type for array elements in 'cpu_set_t'. */
    typedef unsigned long int __cpu_mask;

    /* Basic access functions. */
    # define __CPUELT(cpu) ((cpu) / __NCPUBITS)
    # define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))

    /* Data structure to describe CPU mask. */
    typedef struct
    {
    __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];
    } cpu_set_t;

    /* Access functions for CPU masks. */
    # if __GNUC_PREREQ (2, 91)
    # define __CPU_ZERO_S(setsize, cpusetp) \
    do __builtin_memset (cpusetp, '\0', setsize); while (0)
    # else
    # define __CPU_ZERO_S(setsize, cpusetp) \
    do { \
    size_t __i; \
    size_t __imax = (setsize) / sizeof (__cpu_mask); \
    __cpu_mask *__bits = (cpusetp)->__bits; \
    for (__i = 0; __i < __imax; ++__i) \
    __bits[__i] = 0; \
    } while (0)
    # endif
    # define __CPU_SET_S(cpu, setsize, cpusetp) \
    (__extension__ \
    ({ size_t __cpu = (cpu); \
    __cpu < 8 * (setsize) \
    ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
    |= __CPUMASK (__cpu)) \
    : 0; }))
    # define __CPU_CLR_S(cpu, setsize, cpusetp) \
    (__extension__ \
    ({ size_t __cpu = (cpu); \
    __cpu < 8 * (setsize) \
    ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
    &= ~__CPUMASK (__cpu)) \
    : 0; }))
    # define __CPU_ISSET_S(cpu, setsize, cpusetp) \
    (__extension__ \
    ({ size_t __cpu = (cpu); \
    __cpu < 8 * (setsize) \
    ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
    & __CPUMASK (__cpu))) != 0 \
    : 0; }))

    # define __CPU_COUNT_S(setsize, cpusetp) \
    __sched_cpucount (setsize, cpusetp)

    # if __GNUC_PREREQ (2, 91)
    # define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
    (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)
    # else
    # define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
    (__extension__ \
    ({ const __cpu_mask *__arr1 = (cpusetp1)->__bits; \
    const __cpu_mask *__arr2 = (cpusetp2)->__bits; \
    size_t __imax = (setsize) / sizeof (__cpu_mask); \
    size_t __i; \
    for (__i = 0; __i < __imax; ++__i) \
    if (__arr1[__i] != __arr2[__i]) \
    break; \
    __i == __imax; }))
    # endif

    # define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
    (__extension__ \
    ({ cpu_set_t *__dest = (destset); \
    const __cpu_mask *__arr1 = (srcset1)->__bits; \
    const __cpu_mask *__arr2 = (srcset2)->__bits; \
    size_t __imax = (setsize) / sizeof (__cpu_mask); \
    size_t __i; \
    for (__i = 0; __i < __imax; ++__i) \
    ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; \
    __dest; }))

    # define __CPU_ALLOC_SIZE(count) \
    ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))
    # define __CPU_ALLOC(count) __sched_cpualloc (count)
    # define __CPU_FREE(cpuset) __sched_cpufree (cpuset)

    __BEGIN_DECLS

    extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
    __THROW;
    extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur;
    extern void __sched_cpufree (cpu_set_t *__set) __THROW;

    __END_DECLS

    #endif

  20. #95
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Copyright (C) 1997, 1998, 2001, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _SYS_SELECT_H
    # error "Never use <bits/select.h> directly; include <sys/select.h> instead."
    #endif


    /* We don't use `memset' because this would require a prototype and
    the array isn't too big. */
    #define __FD_ZERO(s) \
    do { \
    unsigned int __i; \
    fd_set *__arr = (s); \
    for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
    __FDS_BITS (__arr)[__i] = 0; \
    } while (0)
    #define __FD_SET(d, s) \
    ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d)))
    #define __FD_CLR(d, s) \
    ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d)))
    #define __FD_ISSET(d, s) \
    ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0)

  21. #96
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Copyright (C) 1995, 1996, 1997, 1998
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _SYS_SEM_H
    # error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
    #endif

    #include <sys/types.h>

    /* Flags for `semop'. */
    #define SEM_UNDO 0x1000 /* undo the operation on exit */

    /* Commands for `semctl'. */
    #define GETPID 11 /* get sempid */
    #define GETVAL 12 /* get semval */
    #define GETALL 13 /* get all semval's */
    #define GETNCNT 14 /* get semncnt */
    #define GETZCNT 15 /* get semzcnt */
    #define SETVAL 16 /* set semval */
    #define SETALL 17 /* set all semval's */


    /* Data structure describing a set of semaphores. */
    struct semid_ds
    {
    struct ipc_perm sem_perm; /* operation permission struct */
    __time_t sem_otime; /* last semop() time */
    __time_t sem_ctime; /* last time changed by semctl() */
    unsigned short int sem_nsems; /* number of semaphores in set */
    };

    /* The user should define a union like the following to use it for arguments
    for `semctl'.

    union semun
    {
    int val; <= value for SETVAL
    struct semid_ds *buf; <= buffer for IPC_STAT & IPC_SET
    unsigned short int *array; <= array for GETALL & SETALL
    struct seminfo *__buf; <= buffer for IPC_INFO
    };

    Previous versions of this file used to define this union but this is
    incorrect. One can test the macro _SEM_SEMUN_UNDEFINED to see whether
    one must define the union or not. */
    #define _SEM_SEMUN_UNDEFINED 1

  22. #97
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Define the machine-dependent type `jmp_buf'. Stub version. */

    #ifndef _SETJMP_H
    # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
    #endif

    typedef int __jmp_buf[1];

  23. #98
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Copyright (C) 1995, 1996, 1997, 2000, 2002, 2004
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _SYS_SHM_H
    # error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
    #endif

    #include <bits/types.h>

    /* Flags for `shmat'. */
    #define SHM_RDONLY 010000 /* attach read-only else read-write */
    #define SHM_RND 020000 /* round attach address to SHMLBA */
    #define SHM_REMAP 040000 /* take-over region on attach */

    /* Commands for `shmctl'. */
    #define SHM_LOCK 11 /* lock segment (root only) */
    #define SHM_UNLOCK 12 /* unlock segment (root only) */

    __BEGIN_DECLS

    /* Segment low boundary address multiple. */
    #define SHMLBA (__getpagesize ())
    extern int __getpagesize (void) __THROW __attribute__ ((__const__));


    /* Type to count number of attaches. */
    typedef unsigned short int shmatt_t;

    /* Data structure describing a shared memory segment. */
    struct shmid_ds
    {
    struct ipc_perm shm_perm; /* operation permission struct */
    int shm_segsz; /* size of segment in bytes */
    __time_t shm_atime; /* time of last shmat() */
    __time_t shm_dtime; /* time of last shmdt() */
    __time_t shm_ctime; /* time of last change by shmctl() */
    __pid_t shm_cpid; /* pid of creator */
    __pid_t shm_lpid; /* pid of last shmop */
    shmatt_t shm_nattch; /* number of current attaches */
    };

    __END_DECLS

  24. #99
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Copyright (C) 1991-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _SIGNAL_H
    # error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
    #endif

    /* These definitions match those used by the 4.4 BSD kernel.
    If the operating system has a `sigaction' system call that correctly
    implements the POSIX.1 behavior, there should be a system-dependent
    version of this file that defines `struct sigaction' and the `SA_*'
    constants appropriately. */

    /* Structure describing the action to be taken when a signal arrives. */
    struct sigaction
    {
    /* Signal handler. */
    #ifdef __USE_POSIX199309
    union
    {
    /* Used if SA_SIGINFO is not set. */
    __sighandler_t sa_handler;
    /* Used if SA_SIGINFO is set. */
    void (*sa_sigaction) (int, siginfo_t *, void *);
    }
    __sigaction_handler;
    # define sa_handler __sigaction_handler.sa_handler
    # define sa_sigaction __sigaction_handler.sa_sigaction
    #else
    __sighandler_t sa_handler;
    #endif

    /* Additional set of signals to be blocked. */
    __sigset_t sa_mask;

    /* Special flags. */
    int sa_flags;
    };

    /* Bits in `sa_flags'. */
    #if defined __USE_UNIX98 || defined __USE_MISC
    # define SA_ONSTACK 0x0001 /* Take signal on signal stack. */
    #endif
    #if defined __USE_UNIX98 || defined __USE_MISC || defined __USE_XOPEN2K8
    # define SA_RESTART 0x0002 /* Restart syscall on signal return. */
    # define SA_NODEFER 0x0010 /* Don't automatically block the signal when
    its handler is being executed. */
    # define SA_RESETHAND 0x0004 /* Reset to SIG_DFL on entry to handler. */
    #endif
    #define SA_NOCLDSTOP 0x0008 /* Don't send SIGCHLD when children stop. */

    #ifdef __USE_MISC
    # define SA_INTERRUPT 0 /* Historical no-op ("not SA_RESTART"). */

    /* Some aliases for the SA_ constants. */
    # define SA_NOMASK SA_NODEFER
    # define SA_ONESHOT SA_RESETHAND
    # define SA_STACK SA_ONSTACK
    #endif


    /* Values for the HOW argument to `sigprocmask'. */
    #define SIG_BLOCK 1 /* Block signals. */
    #define SIG_UNBLOCK 2 /* Unblock signals. */
    #define SIG_SETMASK 3 /* Set the set of blocked signals. */

  25. #100
    俺はまんこが大好きなんだよ baseline bum's Avatar
    My Team
    San Antonio Spurs
    Join Date
    Mar 2003
    Post Count
    97,881
    /* Structure describing state saved while handling a signal. Stub version.
    Copyright (C) 1991, 1994, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.

    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>. */

    #ifndef _SIGNAL_H
    # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
    #endif

    /* State of this thread when the signal was taken. */
    struct sigcontext
    {
    int sc_onstack;
    __sigset_t sc_mask;

    /* Registers and such. */
    };

    /* Signal subcodes should be defined here. */

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •