📄 signals.hhf
字号:
#if( ! @defined( signals_hhf ))?signals_hhf := true;#includeonce( "os/spinlock.hhf" )#includeonce( "os/ipc.hhf" )namespace linux; @fast; const _nsig := 64; _nseg_words := 2; // Constants for signals: sighup := 1; sigint := 2; sigquit := 3; sigill := 4; sigtrap := 5; sigabrt := 6; sigiot := 6; sigbus := 7; sigfpe := 8; sigkill := 9; sigusr1 := 10; sigsegv := 11; sigusr2 := 12; sigpipe := 13; sigalrm := 14; sigterm := 15; sigstkflt := 16; sigcld := 17; sigchld := 17; sigcont := 18; sigstop := 19; sigtstp := 20; sigttin := 21; sigttou := 22; sigurg := 23; sigxcpu := 24; sigxfsz := 25; sigvtalrm := 26; sigprof := 27; sigwinch:= 28; sigpoll := 29; sigio := 29; sigpwr := 30; sigsys := 31; sigunused := 31; __sigrtmin := 32; sa_nocldstop := $00000001; sa_nocldwait := $00000002; sa_siginfo := $00000004; sa_onstack := $08000000; sa_restart := $10000000; sa_nodefer := $40000000; sa_resethand := $80000000; sa_nomask := $40000000; sa_oneshot := $80000000; sa_interrupt := $20000000; sa_restorer := $04000000; ill_illopc := 1; ill_prvopc := 5; fpe_intdiv := 1; fpe_intovf := 2; fpe_fltdiv := 3; fpe_fltovf := 4; fpe_fltund := 5; fpe_fltres := 6; fpe_fltinv := 7; fpe_fltsub := 8; trap_brkpt := 1; trap_trace := 2; ss_onstack := 1; ss_disable := 2; minsigstksz := 2048; sigstksz := 8192; //_nsig := 64; _nsig_bpw := 32; _nsig_word := _nsig div _nsig_bpw; type stack_t:record ss_sp :dword; ss_flags:dword; ss_size :size_t; endrecord; sigset_t:qword; __sighandler_t :procedure( signal:int32 ); siginfo_t:record si_signo :int32; si_errno :int32; si_code :int32; _sifields: union _pad :dword[ 29 ]; /* kill() */ _kill: record _pid :@global:linux.pid_t; _uid :@global:linux.uid_t; endrecord; /* POSIX.1b timers */ _timer: record _timer1 :uns32; _timer2 :uns32; endrecord; /* POSIX.1b signals */ _rt: record _pid :@global:linux.pid_t; _uid :@global:linux.uid_t; _sigval :dword; endrecord; /* SIGCHLD */ _sigchld: record _pid :@global:linux.pid_t; _uid :@global:linux.uid_t; _status :int32; _utime :@global:linux.clock_t; _stime :@global:linux.clock_t; endrecord; /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ _sigfault: record _addr :dword; endrecord; /* SIGPOLL */ _sigpoll: record _band :int32; _fd :int32; endrecord; endunion; endrecord; sigaction_t:record sa_sigaction:procedure ( signum:int32; var siginfo:siginfo_t; var buf:var ); sa_mask :sigset_t; sa_flags :dword; sa_restorer :procedure; endrecord; sigpending_t:record head :dword; //pointer to sigqueue; tail :dword; //pointer to pointer to sigqueue. signal :sigset_t; endrecord; k_sigaction: record sa :sigaction_t; endrecord; signal_struct: record count :atomic_t; action :k_sigaction[_nsig]; siglock :spinlock_t; endrecord;end linux;#endif //signals_hhf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -