Annotation of coherent/f/usr/include/common/_gregset.h, revision 1.1.1.1

1.1       root        1: #ifndef        __COMMON__GREGSET_H__
                      2: #define        __COMMON__GREGSET_H__
                      3: 
                      4: /*
                      5:  * This file defines a "register set" type along the lines of the "gregset_t"
                      6:  * type defined for the process file-system in System V, Release 4. This
                      7:  * subsumes the function of the <sys/reg.h> header in the iBCS2 specification,
                      8:  * which describes the layout of data on the signal stack and also within the
                      9:  * kernel (in Coherent, via the "u.u_regl" pointer, and in SCO via "u.u_ar0")
                     10:  * in terms of an array of "int".
                     11:  *
                     12:  * This file defines the structure layout; an incomplete type declaration is
                     13:  * present in another file for use by code that has no need to know the
                     14:  * internal structure of such items.
                     15:  */
                     16: 
                     17: #include <common/__types.h>
                     18: #include <common/gregset.h>
                     19: 
                     20: union _gregset {
                     21:        /*
                     22:         * Frame for i386 task.
                     23:         */
                     24:        struct {
                     25:                /*
                     26:                 * Pushed by the trap handler.
                     27:                 */
                     28:                __ushort_t      _gs;
                     29:                __ushort_t      _pad1;
                     30:                __ushort_t      _fs;
                     31:                __ushort_t      _pad2;
                     32:                __ushort_t      _es;
                     33:                __ushort_t      _pad3;
                     34:                __ushort_t      _ds;
                     35:                __ushort_t      _pad4;
                     36:                /*
                     37:                 * Pushed by the trap handler with a "pusha" intruction.
                     38:                 */
                     39:                __ulong_t       _edi;
                     40:                __ulong_t       _esi;
                     41:                __ulong_t       _ebp;
                     42:                __ulong_t       _esp;
                     43:                __ulong_t       _ebx;
                     44:                __ulong_t       _edx;
                     45:                __ulong_t       _ecx;
                     46:                __ulong_t       _eax;
                     47:                /*
                     48:                 * Created by the i386 when handling exceptions, or by the
                     49:                 * trap code when handling software/hardware interrupts.
                     50:                 */
                     51:                __ulong_t       _trapno;
                     52:                __ulong_t       _err;
                     53:                /*
                     54:                 * General i386 inter-level interrupt return frame.
                     55:                 */
                     56:                __ulong_t       _eip;
                     57:                __ushort_t      _cs;
                     58:                __ushort_t      _pad5;
                     59:                __ulong_t       _eflags;
                     60:                __ulong_t       _uesp;
                     61:                __ushort_t      _ss;
                     62:                __ushort_t      _pad6;
                     63:        } _i386;
                     64:        /*
                     65:         * Frame for i286 task, created from the same code as above but with
                     66:         * only the low 16 bits of general registers containing valid data.
                     67:         */
                     68:        struct {
                     69:                /*
                     70:                 * Pushed by the trap handler.
                     71:                 */
                     72:                __ushort_t      _gs;
                     73:                __ushort_t      _pad1;
                     74:                __ushort_t      _fs;
                     75:                __ushort_t      _pad2;
                     76:                __ushort_t      _es;
                     77:                __ushort_t      _pad3;
                     78:                __ushort_t      _ds;
                     79:                __ushort_t      _pad4;
                     80:                /*
                     81:                 * Pushed by the trap handler with a "pusha" intruction.
                     82:                 */
                     83:                __ushort_t      _di;
                     84:                __ushort_t      _pad6;
                     85:                __ushort_t      _si;
                     86:                __ushort_t      _pad7;
                     87:                __ushort_t      _bp;
                     88:                __ushort_t      _pad8;
                     89:                __ulong_t       _esp;           /* kernel %esp */
                     90:                __ushort_t      _bx;
                     91:                __ushort_t      _pad9;
                     92:                __ushort_t      _dx;
                     93:                __ushort_t      _pad10;
                     94:                __ushort_t      _cx;
                     95:                __ushort_t      _pad11;
                     96:                __ushort_t      _ax;
                     97:                __ushort_t      _pad12;
                     98:                /*
                     99:                 * Created by the i386 when handling exceptions, or by the
                    100:                 * trap code when handling software/hardware interrupts.
                    101:                 */
                    102:                __ulong_t       _trapno;
                    103:                __ulong_t       _err;
                    104:                /*
                    105:                 * General i386 inter-level interrupt return frame.
                    106:                 */
                    107:                __ushort_t      _ip;
                    108:                __ushort_t      _pad13;
                    109:                __ushort_t      _cs;
                    110:                __ushort_t      _pad14;
                    111:                __ushort_t      _flags;
                    112:                __ushort_t      _pad15;
                    113:                __ushort_t      _usp;
                    114:                __ushort_t      _pad16;
                    115:                __ushort_t      _ss;
                    116:                __ushort_t      _pad17;
                    117:        } _i286;
                    118: };
                    119: 
                    120: #endif /* ! defined (__COMMON__GREGSET_H__) */
                    121: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.