123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- {
- This file is part of the Free Pascal run time library.
- Copyright (c) 2011 by Free Pascal development team
- This file implements all the types/constants related
- to signals for AIX.
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program 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.
- **********************************************************************}
- type
- plabel_t = ^label_t;
- label_t = record
- prev: plabel_t;
- iar: culong;
- stack: culong;
- toc: culong;
- cr: culong;
- intpri: culong;
- reg: array[0..18] of culong; // non-volatile regs (13..31)
- end;
- padspace_t = ^adspace_t;
- adspace_t = record
- alloc: culong;
- srval: array[0..15] of cuint;
- end;
- pmstsave = ^mstsave;
- mstsave = record
- prev: pmstsave;
- kjmpbuf: plabel_t;
- stackfix: PAnsiChar;
- intpri: byte;
- backt: byte;
- rsvd: array[0..1] of byte;
- curid: pid_t;
- excp_type: cint;
- iar: culong; // instruction address register
- msr: culong;
- cr: culong;
- lr: culong;
- ctr: culong;
- xer: culong;
- mq: culong;
- tid: culong;
- fpscr: culong;
- fpeu: bytebool;
- fpinfo: byte;
- pad: array[0..1] of byte;
- except_: array[0..4] of culong;
- pad1: array[0..3] of byte;
- o_iar: culong;
- o_toc: culong;
- o_arg1: culong;
- excbranch: culong;
- fpscrx: culong;
- o_vaddr: culong;
- cachealign: array[0..6] of culong;
- as_: adspace_t;
- gpr: array[0..31] of culong;
- fpr: array[0..31] of double;
- end;
- pstack_t = ^stack_t;
- stack_t = record
- ss_sp: pointer;
- ss_size: size_t;
- ss_flags: cint;
- __pad: array[0..3] of cint;
- end;
- __vmxreg_t = record
- __v: array[0..3] of cuint;
- end;
- __vmx_context = record
- __vr: array[0..31] of __vmxreg_t;
- __pad1: array[0..2] of cuint;
- __vscr: cuint;
- __vrsave: cuint;
- __pad2: array[0..1] of cuint;
- end;
- p__extctx_t = ^__extctx_t;
- __extctx_t = record
- __flags: cuint;
- __rsvd1: array[0..2] of cuint;
- __u1: record
- __vmx: __vmx_context
- end;
- __ukeys: array[0..1] of cuint;
- __reserved: array[0..4096-sizeof(__vmx_context)-7*sizeof(cint)-1] of byte;
- __extctx_magic: cint;
- end;
- {$ifdef cpu64}
- __context64 = record
- gpr: array[0..31] of culonglong;
- msr: culonglong;
- iar: culonglong;
- lr: culonglong;
- ctr: culonglong;
- cr: cuint;
- xer: cuint;
- fpscr: cuint;
- fpscrx: cuint;
- except_: array[0..0] of culonglong;
- fpr: array[0..31] of double;
- fpeu: byte;
- fpinfo: byte;
- pad: array[0..1] of byte;
- excp_type: cint;
- end;
- mcontext_t = __context64;
- {$else}
- mcontext_t = mstsave;
- {$endif}
- pucontext_t = ^tucontext_t;
- PSigContext = pucontext_t;
- tucontext_t = record
- __sc_onstack: cint;
- uc_sigmask: sigset_t;
- __sc_uerror: cint;
- uc_mcontext: mcontext_t;
- uc_link: pucontext_t;
- uc_stack: stack_t;
- __extctx: p__extctx_t;
- __extctx_magic: cint;
- __pad: array[0..{$ifdef cpu64}0{$else}1{$endif}] of cint;
- end;
|