X-Git-Url: https://deadsoftware.ru/gitweb?p=cpc.git;a=blobdiff_plain;f=src%2Fcpfront%2Flinux%2Farm%2FPosix%2FMod%2FCsignal.cp;h=1e2c77df9f1676389a6a96c9d83af39d875597bc;hp=df1f93489e1faf221d5ae8b00549cbfb38873a72;hb=d41744a4034d3aad10298c8ff915778cda31fa27;hpb=e6f2dc69e5d8af2c60cf85c43fced7c370a9e427 diff --git a/src/cpfront/linux/arm/Posix/Mod/Csignal.cp b/src/cpfront/linux/arm/Posix/Mod/Csignal.cp index df1f934..1e2c77d 100644 --- a/src/cpfront/linux/arm/Posix/Mod/Csignal.cp +++ b/src/cpfront/linux/arm/Posix/Mod/Csignal.cp @@ -101,8 +101,6 @@ MODULE PosixCsignal ['signal.h']; SIGTTOU* = 22; SIGUSR1* = 10; SIGUSR2* = 12; - SIGPOLL* = 29; - SIGPROF* = 27; SIGSYS* = 31; SIGTRAP* = 5; SIGURG* = 23; @@ -122,9 +120,9 @@ MODULE PosixCsignal ['signal.h']; TYPE Pstruct_sigaction* = POINTER TO struct_sigaction; struct_sigaction* ['struct sigaction'] = RECORD [noalign] (* 140 *) - handler*: RECORD [union] (* 4 *) - sa_handler*: PROCEDURE [ccall] (sig: int); (* 0+4 *) - sa_sigaction*: PROCEDURE [ccall] (sig: int; IN siginfo: siginfo_t; context: PosixCtypes.Pvoid); (* 0+4 *) + handler* ["/*handler"]: RECORD [union] (* 4 *) + sa_handler* ["*/sa_handler"]: PROCEDURE [ccall] (sig: int); (* 0+4 *) + sa_sigaction* ["*/sa_sigaction"]: PROCEDURE [ccall] (sig: int; IN siginfo: siginfo_t; context: PosixCtypes.Pvoid); (* 0+4 *) END; (* 0+4 *) sa_mask*: sigset_t; (* 4+128 *) sa_flags*: int; (* 132+4 *) @@ -141,23 +139,61 @@ MODULE PosixCsignal ['signal.h']; SA_RESETHAND* = -2147483648; SA_RESTART* = 268435456; SA_SIGINFO* = 4; - SA_NOCLDWAIT* = 2; SA_NODEFER* = 1073741824; SS_ONSTACK* = 1; SS_DISABLE* = 2; MINSIGSTKSZ* = 2048; SIGSTKSZ* = 8192; + CONST + __NGREG* = 19; + + TYPE + greg_t* = INTEGER; + + TYPE gregset_t* = ARRAY [untagged] __NGREG OF greg_t; + + TYPE + Pstruct__libc_fpreg* = POINTER TO struct__libc_fpreg; + struct__libc_fpreg* ['struct _libc_fpreg'] = RECORD [noalign] (* 10 *) + significand*: INTEGER; (* 0+8 *) + exponent*: unsigned_short_int; (* 8+2 *) + END; + + TYPE + Pstruct__libc_fpstate* = POINTER TO struct__libc_fpstate; + struct__libc_fpstate* ['struct _libc_fpstate'] = RECORD [noalign] (* 112 *) + cw*: unsigned_long_int; (* 0+4 *) + sw*: unsigned_long_int; (* 4+4 *) + tag*: unsigned_long_int; (* 8+4 *) + ipoff*: unsigned_long_int; (* 12+4 *) + cssel*: unsigned_long_int; (* 16+4 *) + dataoff*: unsigned_long_int; (* 20+4 *) + datasel*: unsigned_long_int; (* 24+4 *) + _st*: ARRAY [untagged] 8 OF struct__libc_fpreg; (* 28+80 *) + status*: unsigned_long_int; (* 108+4 *) + END; + + TYPE fpregset_t* = Pstruct__libc_fpstate; + TYPE - mcontext_t* = RECORD [noalign] _: ARRAY [untagged] 84 OF BYTE END; + Pmcontext_t* = POINTER TO mcontext_t; + mcontext_t* ['mcontext_t'] = RECORD [noalign] (* 88 *) + gregs*: gregset_t; (* 0+76 *) + fpregs*: fpregset_t; (* 76+4 *) + oldmask*: unsigned_long_int; (* 80+4 *) + cr2*: unsigned_long_int; (* 84+4 *) + END; TYPE Pucontext_t* = POINTER TO ucontext_t; - ucontext_t* ['ucontext_t'] = RECORD [noalign] (* 744 *) + ucontext_t* ['ucontext_t'] = RECORD [noalign] (* 348 *) + uc_flags*: unsigned_long_int; (* 0+4 *) uc_link*: Pucontext_t; (* 4+4 *) uc_stack*: stack_t; (* 8+12 *) - uc_mcontext*: mcontext_t; (* 20+84 *) - uc_sigmask*: sigset_t; (* 104+128 *) + uc_mcontext*: mcontext_t; (* 20+88 *) + uc_sigmask*: sigset_t; (* 108+128 *) + __fpregs_mem*: struct__libc_fpstate; (* 236+112 *) END; TYPE @@ -168,49 +204,32 @@ MODULE PosixCsignal ['signal.h']; ss_size*: size_t; (* 8+4 *) END; - TYPE - P_siginfo_t* = POINTER TO _siginfo_t; - _siginfo_t* ['siginfo_t'] = RECORD [noalign] (* 128 *) - si_signo*: int; (* 0+4 *) - si_errno*: int; (* 4+4 *) - si_code*: int; (* 8+4 *) - si_pid*: pid_t; (* 12+4 *) - si_addr*: PosixCtypes.Pvoid; (* 12+4 *) - si_band*: long; (* 12+4 *) - si_uid*: uid_t; (* 16+4 *) - si_status*: int; (* 20+4 *) - si_value*: union_sigval; (* 20+4 *) - END; - TYPE Psiginfo_t* = POINTER TO siginfo_t; siginfo_t* ['siginfo_t'] = RECORD [noalign] (* 128 *) si_signo*: int; (* 0+4 *) si_errno*: int; (* 4+4 *) si_code*: int; (* 8+4 *) - info*: RECORD [union] (* 12 *) + info* ["/*info"]: RECORD [union] (* 12 *) sigill*: RECORD [noalign] (* 4 *) - si_addr*: PosixCtypes.Pvoid; (* 0+4 *) + si_addr* ["*/si_addr"]: PosixCtypes.Pvoid; (* 0+4 *) END; (* 0+4 *) sigfpe*: RECORD [noalign] (* 4 *) - si_addr*: PosixCtypes.Pvoid; (* 0+4 *) + si_addr* ["*/si_addr"]: PosixCtypes.Pvoid; (* 0+4 *) END; (* 0+4 *) sigsegv*: RECORD [noalign] (* 4 *) - si_addr*: PosixCtypes.Pvoid; (* 0+4 *) + si_addr* ["*/si_addr"]: PosixCtypes.Pvoid; (* 0+4 *) END; (* 0+4 *) sigbus*: RECORD [noalign] (* 4 *) - si_addr*: PosixCtypes.Pvoid; (* 0+4 *) + si_addr* ["*/si_addr"]: PosixCtypes.Pvoid; (* 0+4 *) END; (* 0+4 *) sigchld*: RECORD [noalign] (* 12 *) - si_pid*: pid_t; (* 0+4 *) - si_uid*: uid_t; (* 4+4 *) - si_status*: int; (* 8+4 *) + si_pid* ["*/si_pid"]: pid_t; (* 0+4 *) + si_uid* ["*/si_uid"]: uid_t; (* 4+4 *) + si_status* ["*/si_status"]: int; (* 8+4 *) END; (* 0+12 *) - sigpoll*: RECORD [noalign] (* 4 *) - si_band*: long; (* 0+4 *) - END; (* 0+4 *) other*: RECORD [noalign] (* 4 *) - si_value*: union_sigval; (* 0+4 *) + si_value* ["*/si_value"]: union_sigval; (* 0+4 *) END; (* 8+4 *) END; (* 12+12 *) END; @@ -252,14 +271,6 @@ MODULE PosixCsignal ['signal.h']; CLD_STOPPED* = 5; CLD_CONTINUED* = 6; - CONST - POLL_IN* = 1; - POLL_OUT* = 2; - POLL_MSG* = 3; - POLL_ERR* = 4; - POLL_PRI* = 5; - POLL_HUP* = 6; - CONST SI_USER* = 0; SI_QUEUE* = -1; @@ -272,7 +283,7 @@ MODULE PosixCsignal ['signal.h']; PROCEDURE [ccall] psiginfo* (IN pinfo: siginfo_t; IN [nil] s: ARRAY [untagged] OF SHORTCHAR); PROCEDURE [ccall] psignal* (sig: int; IN [nil] s: ARRAY [untagged] OF SHORTCHAR); PROCEDURE [ccall] pthread_kill* (thread: pthread_t; sig: int): int; - PROCEDURE [ccall] pthread_sigmask* (how: int; IN [nil] set: sigset_t; VAR [nil] oldset: sigset_t): int; + PROCEDURE [ccall] pthread_sigmask* (how: int; VAR [nil] set: sigset_t; VAR [nil] oldset: sigset_t): int; PROCEDURE [ccall] raise* (sig: int): int; PROCEDURE [ccall] sigaction* (sig: int; IN [nil] act: struct_sigaction; VAR [nil] oact: struct_sigaction): int; PROCEDURE [ccall] sigaddset* (VAR set: sigset_t; signum: int): int; @@ -280,18 +291,13 @@ MODULE PosixCsignal ['signal.h']; PROCEDURE [ccall] sigdelset* (VAR set: sigset_t; signum: int): int; PROCEDURE [ccall] sigemptyset* (VAR set: sigset_t): int; PROCEDURE [ccall] sigfillset* (VAR set: sigset_t): int; - PROCEDURE [ccall] sighold* (sig: int): int; - PROCEDURE [ccall] sigignore* (sig: int): int; - PROCEDURE [ccall] siginterrupt* (sig, flag: int): int; - PROCEDURE [ccall] sigismember* (IN set: sigset_t; signum: int): int; - PROCEDURE [ccall] sigpause* (sig: int): int; + PROCEDURE [ccall] sigismember* (VAR set: sigset_t; signum: int): int; PROCEDURE [ccall] sigpending* (VAR set: sigset_t): int; - PROCEDURE [ccall] sigprocmask* (how: int; IN [nil] set: sigset_t; VAR [nil] oset: sigset_t): int; + PROCEDURE [ccall] sigprocmask* (how: int; VAR [nil] set: sigset_t; VAR [nil] oset: sigset_t): int; PROCEDURE [ccall] sigqueue* (pid: pid_t; sig: int; IN value: union_sigval): int; - PROCEDURE [ccall] sigrelse* (sig: int): int; - PROCEDURE [ccall] sigsuspend* (IN sigmask: sigset_t): int; - PROCEDURE [ccall] sigtimedwait* (IN set: sigset_t; VAR [nil] info: siginfo_t; IN timeout: struct_timespec): int; - PROCEDURE [ccall] sigwait* (IN set: sigset_t; VAR sig: int): int; - PROCEDURE [ccall] sigwaitinfo* (IN set: sigset_t; VAR [nil] info: siginfo_t): int; + PROCEDURE [ccall] sigsuspend* (VAR sigmask: sigset_t): int; + PROCEDURE [ccall] sigtimedwait* (VAR set: sigset_t; VAR [nil] info: siginfo_t; IN timeout: struct_timespec): int; + PROCEDURE [ccall] sigwait* (VAR set: sigset_t; VAR sig: int): int; + PROCEDURE [ccall] sigwaitinfo* (VAR set: sigset_t; VAR [nil] info: siginfo_t): int; END PosixCsignal.