亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? signal.h

?? eCos/RedBoot for勤研ARM AnywhereII(4510) 含全部源代碼
?? H
字號:
#ifndef CYGONCE_SIGNAL_H
#define CYGONCE_SIGNAL_H
//=============================================================================
//
//      signal.h
//
//      POSIX signal header
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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 General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s):     nickg, jlarmour
// Contributors:  
// Date:          2000-03-17
// Purpose:       POSIX signal header
// Description:   This header contains all the definitions needed to support
//                the POSIX signal API under eCos.
//              
// Usage:         This file can either be included directly, or indirectly via
//                the C library signal.h header.
//              
//
//####DESCRIPTIONEND####
//
//=============================================================================

#include <pkgconf/hal.h>
#include <pkgconf/kernel.h>
#include <pkgconf/posix.h>

#ifdef CYGPKG_POSIX_SIGNALS

#include <stddef.h>             // NULL, size_t

#include <limits.h>
#include <sys/types.h>

//-----------------------------------------------------------------------------
// POSIX feature test macros

// We do not support job control
#undef _POSIX_JOB_CONTROL

//-----------------------------------------------------------------------------
// Manifest constants

#ifdef _POSIX_REALTIME_SIGNALS
// For now we define the topmost 8 signals as realtime
#define SIGRTMIN                24
#define SIGRTMAX                31
#endif

//-----------------------------------------------------------------------------
// forward references

struct timespec;

//-----------------------------------------------------------------------------
// Sigval structure

union sigval
{
    int   sival_int;    // used when application-defined value is an int
    void  *sival_ptr;   // used when application-defined value is a pointer
};

//-----------------------------------------------------------------------------
// Siginfo structure passed to an SA_SIGINFO style handler

typedef struct
{
    int          si_signo;      // signal number
    int          si_code;       // cause of signal
    union sigval si_value;      // signal value
} siginfo_t;

// Values for si_code
# define SI_USER	1
# define SI_QUEUE	2
# define SI_TIMER	3
# define SI_ASYNCIO	4
# define SI_MESGQ	5
# define SI_EXCEPT      6       // signal is result of an exception delivery

//-----------------------------------------------------------------------------
// Basic types

// Integral type that can be accessed atomically - from ISO C 7.7
typedef cyg_atomic sig_atomic_t;

// Type of signal handler functions
typedef void (*sa_sighandler_t)(int);

// Type of signal handler used if SA_SIGINFO is set in sa_flags
typedef void (*sa_siginfoaction_t)(int signo, siginfo_t *info,
                                  void *context);

//-----------------------------------------------------------------------------
//Signal handlers for use with signal() and sigaction(). We avoid 0
//because in an embedded system this may be start of ROM and thus
//a possible function pointer for reset.

#define SIG_DFL ((sa_sighandler_t) 1)      // Default action
#define SIG_IGN ((sa_sighandler_t) 2)      // Ignore action
#define SIG_ERR ((sa_sighandler_t)-1)      // Error return

//-----------------------------------------------------------------------------
// Signal values

#define SIGNULL   0    // Reserved signal - do not use (POSIX 3.3.1.1)
#define SIGHUP    1    // Hangup on controlling terminal (POSIX)
#define SIGINT    2    // Interactive attention (ISO C)
#define SIGQUIT   3    // Interactive termination (POSIX)
#define SIGILL    4    // Illegal instruction (not reset when caught) (ISO C)
#define SIGTRAP   5    // Trace trap (not reset when caught)
#define SIGIOT    6    // IOT instruction
#define SIGABRT   6    // Abnormal termination - used by abort() (ISO C)
#define SIGEMT    7    // EMT instruction
#define SIGFPE    8    // Floating Point Exception e.g. div by 0 (ISO C)
#define SIGKILL   9    // Kill (cannot be caught or ignored) (POSIX)
#define SIGBUS    10   // Bus error (POSIX)
#define SIGSEGV   11   // Invalid memory reference (ISO C)
#define SIGSYS    12   // Bad argument to system call (used by anything?)
#define SIGPIPE   13   // Write on a pipe with no one to read it (POSIX)
#define SIGALRM   14   // Alarm timeout (POSIX)
#define SIGTERM   15   // Software termination request (ISO C)
#define SIGUSR1   16   // Application-defined signal 1 (POSIX)
#define SIGUSR2   17   // Application-defined signal 2 (POSIX)


//-----------------------------------------------------------------------------
// Signal sets.
// At present we define a single 32 bit integer mask. We may need, at
// some future point, to extend this to 64 bits, or a structure
// containing an array of masks.

typedef cyg_uint32 sigset_t;

//-----------------------------------------------------------------------------
// struct sigaction describes the action to be taken when we get a signal

struct sigaction
{
    sigset_t               sa_mask;             // Additional signals to be blocked
    int                    sa_flags;            // Special flags
    union
    {
        sa_sighandler_t    sa_handler;          // signal handler
        sa_siginfoaction_t sa_sigaction;        // Function to call instead of
                                                // sa_handler if SA_SIGINFO is
                                                // set in sa_flags
    } sa_sigactionhandler;
#define sa_handler   sa_sigactionhandler.sa_handler
#define sa_sigaction sa_sigactionhandler.sa_sigaction
};

// sa_flag bits
#define SA_NOCLDSTOP 1   // Don't generate SIGCHLD when children stop
#define SA_SIGINFO   2   // Use the sa_siginfoaction_t style signal
                         // handler, instead of the single argument handler

//-----------------------------------------------------------------------------
// Sigevent structure.

struct sigevent
{
    int                  sigev_notify;
    int                  sigev_signo;
    union sigval         sigev_value;
    void               (*sigev_notify_function) (union sigval);
    pthread_attr_t      *sigev_notify_attributes;
};

# define SIGEV_NONE	1
# define SIGEV_SIGNAL   2
# define SIGEV_THREAD	3

//-----------------------------------------------------------------------------
// Functions to generate signals

// Deliver sig to a process.
// eCos only supports the value 0 for pid.
externC int kill (pid_t pid, int sig);

externC int pthread_kill (pthread_t thread, int sig);

//-----------------------------------------------------------------------------
// Functions to catch signals

// Install signal handler for sig.
externC int sigaction  (int sig, const struct sigaction *act,
                        struct sigaction *oact);

// Queue signal to process with value.
externC int sigqueue  (pid_t pid, int sig, const union sigval value);

//-----------------------------------------------------------------------------
// Functions to deal with current blocked and pending masks

// Set process blocked signal mask
externC int sigprocmask  (int how, const sigset_t *set, sigset_t *oset);

// Set calling thread's blocked signal mask
externC int pthread_sigmask (int how, const sigset_t *set, sigset_t *oset);

// Get set of pending signals for this process
externC int sigpending  (sigset_t *set);

// Values for the how arguments:
#define SIG_BLOCK       1
#define SIG_UNBLOCK     2
#define SIG_SETMASK     3

//-----------------------------------------------------------------------------
// Wait for or accept signals

// Block signals in set and wait for a signal
externC int sigsuspend  (const sigset_t *set);

// Wait for a signal in set to arrive
externC int sigwait  (const sigset_t *set, int *sig);

// Do the same as sigwait() except return a siginfo_t object too.
externC int sigwaitinfo  (const sigset_t *set, siginfo_t *info);

// Do the same as sigwaitinfo() but return anyway after timeout.
externC int sigtimedwait  (const sigset_t *set, siginfo_t *info,
                           const struct timespec *timeout);

//-----------------------------------------------------------------------------
// Signal sets

// Clear all signals from set.
externC int sigemptyset  (sigset_t *set);

// Set all signals in set.
externC int sigfillset  (sigset_t *set);

// Add signo to set.
externC int sigaddset  (sigset_t *set, int signo);

// Remove signo from set.
externC int sigdelset  (sigset_t *set, int signo);

// Test whether signo is in set
externC int sigismember  (const sigset_t *set, int signo);

//-----------------------------------------------------------------------------
// alarm, pause and sleep

// Generate SIGALRM after some number of seconds
externC unsigned int alarm( unsigned int seconds );

// Wait for a signal to be delivered.
externC int pause( void );

// Wait for a signal, or the given number of seconds
externC unsigned int sleep( unsigned int seconds );

//-----------------------------------------------------------------------------
// signal() - ISO C 7.7.1   //
//
// Installs a new signal handler for the specified signal, and returns
// the old handler
//

externC sa_sighandler_t signal(int __sig, sa_sighandler_t __handler);

// raise() - ISO C 7.7.2 //
//
// Raises the signal, which will cause the current signal handler for
// that signal to be called

externC int raise(int __sig);

#endif // ifdef CYGPKG_POSIX_SIGNALS

//-----------------------------------------------------------------------------
#endif // ifndef CYGONCE_SIGNAL_H
// End of signal.h

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美aaaaaa| 日韩综合小视频| 97精品视频在线观看自产线路二| 欧美精品乱码久久久久久按摩| 亚洲欧美日韩小说| 欧美精品丝袜久久久中文字幕| 亚洲国产视频一区二区| 91精品国产美女浴室洗澡无遮挡| 亚洲线精品一区二区三区| 欧美妇女性影城| 不卡电影免费在线播放一区| 中文字幕日韩一区二区| 日本久久一区二区三区| 日韩精品五月天| 成人免费一区二区三区在线观看| 91精品国产91久久久久久一区二区| 青青草国产成人av片免费| 国产精品麻豆视频| 精品国精品自拍自在线| 99久久精品免费看国产免费软件| 亚洲成人www| 亚洲美女视频在线观看| 精品国产乱码久久久久久影片| 色噜噜久久综合| 色悠悠久久综合| 成人a区在线观看| 丁香啪啪综合成人亚洲小说 | 亚洲欧美另类久久久精品| 日韩亚洲欧美综合| 欧美一级片在线| 欧美一卡二卡在线| 日韩欧美一级片| 日韩午夜精品电影| 欧美一区二区久久| 日韩一区二区三区四区| 欧美日韩二区三区| 欧美日韩一区二区三区四区| 色乱码一区二区三区88| 欧美性感一区二区三区| 欧美性猛交xxxx乱大交退制版| 亚洲自拍偷拍网站| 粉嫩av亚洲一区二区图片| 午夜影视日本亚洲欧洲精品| 亚洲成人免费影院| 日韩av一区二区三区| 蜜臀久久99精品久久久画质超高清| 亚洲一区在线观看免费观看电影高清| 亚洲精品第1页| 蜜臀精品一区二区三区在线观看 | 精品久久久久久综合日本欧美| 欧美一级片在线观看| 国产欧美一区二区精品性| 亚洲欧洲99久久| 男人的天堂亚洲一区| 国产精品77777竹菊影视小说| 一本色道综合亚洲| 日韩一区二区视频| 亚洲图片激情小说| 国产传媒久久文化传媒| 欧美丝袜自拍制服另类| 国产精品久久久久三级| 爽好多水快深点欧美视频| 成人激情小说乱人伦| 日韩欧美专区在线| 亚洲亚洲人成综合网络| 99久久久久久| 国产欧美精品一区二区色综合朱莉| 亚洲电影欧美电影有声小说| 91亚洲国产成人精品一区二三 | 不卡大黄网站免费看| 欧美电影影音先锋| 亚洲韩国精品一区| 欧美精品自拍偷拍| 天堂av在线一区| 欧美日韩成人综合天天影院 | 亚洲成人免费在线| 欧美日韩久久久一区| 一区二区三区国产精品| 欧美在线观看18| 日韩精品91亚洲二区在线观看| 91福利区一区二区三区| 亚洲猫色日本管| 欧美午夜在线一二页| 亚洲成a人v欧美综合天堂| 欧美视频日韩视频| 日韩av一区二| 中文字幕乱码一区二区免费| 色综合久久99| 免费观看久久久4p| 日本一区二区动态图| 一本大道久久a久久综合| 五月婷婷激情综合网| 久久久久9999亚洲精品| 91视频一区二区三区| 免费成人av在线| 中文字幕视频一区| 欧美日韩国产一级片| 国内成人精品2018免费看| 中文字幕免费不卡在线| 欧美特级限制片免费在线观看| 婷婷国产在线综合| 国产蜜臀97一区二区三区| 色悠悠久久综合| 成人在线综合网站| 麻豆成人综合网| 亚洲影院久久精品| 亚洲日本va午夜在线影院| 精品国产不卡一区二区三区| 欧美四级电影在线观看| 色综合天天性综合| 国产91精品久久久久久久网曝门 | 午夜av区久久| 亚洲亚洲人成综合网络| 亚洲色图欧美激情| 亚洲图片你懂的| 一区二区三区.www| 亚洲午夜日本在线观看| 一区二区三区在线视频免费观看| 久久久久亚洲蜜桃| 精品国产99国产精品| 久久综合av免费| 中文字幕中文在线不卡住| 国产精品网曝门| 亚洲男女一区二区三区| 亚洲综合视频在线| 国产自产高清不卡| 免费久久99精品国产| 激情综合色播五月| 北条麻妃一区二区三区| 91福利在线播放| 欧美xxxxxxxx| 亚洲欧美另类小说视频| 麻豆精品蜜桃视频网站| 成人免费高清视频在线观看| 色老头久久综合| 久久久精品天堂| 日韩影院精彩在线| 99久久精品一区| 久久久精品人体av艺术| 亚洲国产精品一区二区久久| 久草精品在线观看| 欧美日韩视频不卡| 中文字幕免费不卡| 肉色丝袜一区二区| 成人av电影观看| 日本一区二区综合亚洲| 日本网站在线观看一区二区三区| 不卡av在线免费观看| 久久综合久久综合久久综合| 亚洲成人激情自拍| 91久久精品网| 洋洋成人永久网站入口| 成人av资源在线| 国产色91在线| 国产91精品在线观看| 久久精品一区蜜桃臀影院| 久久69国产一区二区蜜臀| 日韩一区二区高清| 亚洲丰满少妇videoshd| 欧美日韩一级二级三级| 一区二区三区电影在线播| 在线亚洲免费视频| 亚洲精品国产精品乱码不99| 91蜜桃传媒精品久久久一区二区| 国产精品私人影院| 色欧美乱欧美15图片| 午夜不卡av免费| 久久蜜桃av一区精品变态类天堂| 久久99精品国产麻豆不卡| 精品国产区一区| 日本福利一区二区| 久久99国内精品| 中文字幕va一区二区三区| 91国产精品成人| 国产在线精品一区二区| 国产日韩欧美麻豆| 在线观看视频一区二区| 亚洲电影一区二区| 国产精品女主播在线观看| 欧美三日本三级三级在线播放| 久久99精品久久久久久国产越南 | 亚洲综合一区二区三区| 精品久久国产字幕高潮| 色噜噜狠狠色综合欧洲selulu| 日韩av中文字幕一区二区三区| 国产欧美中文在线| 欧美va亚洲va在线观看蝴蝶网| 国产精品888| 激情综合色播五月| 婷婷中文字幕一区三区| 亚洲男同1069视频| 亚洲精品一二三| 欧美在线啊v一区| 青青草视频一区| 日本一区免费视频| 丁香啪啪综合成人亚洲小说| 天天综合网天天综合色| 洋洋av久久久久久久一区| 一区二区三区不卡在线观看 | 成+人+亚洲+综合天堂|