Annotation of Net2/arch/amiga/include/frame.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1988 University of Utah.
        !             3:  * Copyright (c) 1982, 1990 The Regents of the University of California.
        !             4:  * All rights reserved.
        !             5:  *
        !             6:  * This code is derived from software contributed to Berkeley by
        !             7:  * the Systems Programming Group of the University of Utah Computer
        !             8:  * Science Department.
        !             9:  *
        !            10:  * Redistribution and use in source and binary forms, with or without
        !            11:  * modification, are permitted provided that the following conditions
        !            12:  * are met:
        !            13:  * 1. Redistributions of source code must retain the above copyright
        !            14:  *    notice, this list of conditions and the following disclaimer.
        !            15:  * 2. Redistributions in binary form must reproduce the above copyright
        !            16:  *    notice, this list of conditions and the following disclaimer in the
        !            17:  *    documentation and/or other materials provided with the distribution.
        !            18:  * 3. All advertising materials mentioning features or use of this software
        !            19:  *    must display the following acknowledgement:
        !            20:  *     This product includes software developed by the University of
        !            21:  *     California, Berkeley and its contributors.
        !            22:  * 4. Neither the name of the University nor the names of its contributors
        !            23:  *    may be used to endorse or promote products derived from this software
        !            24:  *    without specific prior written permission.
        !            25:  *
        !            26:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
        !            27:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            28:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            29:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
        !            30:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            31:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            32:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            33:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            34:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            35:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            36:  * SUCH DAMAGE.
        !            37:  *
        !            38:  * from: Utah $Hdr: frame.h 1.1 90/07/09$
        !            39:  *
        !            40:  *     @(#)frame.h     7.2 (Berkeley) 11/2/90
        !            41:  */
        !            42: 
        !            43: struct frame {
        !            44:        int     f_regs[16];
        !            45:        short   f_stackadj;
        !            46:        u_short f_sr;
        !            47:        u_int   f_pc;
        !            48:        u_short f_format:4,
        !            49:                f_vector:12;
        !            50:        union F_u {
        !            51:                struct fmt2 {
        !            52:                        u_int   f_iaddr;
        !            53:                } F_fmt2;
        !            54: 
        !            55:                struct fmt9 {
        !            56:                        u_int   f_iaddr;
        !            57:                        u_short f_iregs[4];
        !            58:                } F_fmt9;
        !            59: 
        !            60:                struct fmtA {
        !            61:                        u_short f_ir0;
        !            62:                        u_short f_ssw;
        !            63:                        u_short f_ipsc;
        !            64:                        u_short f_ipsb;
        !            65:                        u_int   f_dcfa;
        !            66:                        u_short f_ir1, f_ir2;
        !            67:                        u_int   f_dob;
        !            68:                        u_short f_ir3, f_ir4;
        !            69:                } F_fmtA;
        !            70: 
        !            71:                struct fmtB {
        !            72:                        u_short f_ir0;
        !            73:                        u_short f_ssw;
        !            74:                        u_short f_ipsc;
        !            75:                        u_short f_ipsb;
        !            76:                        u_int   f_dcfa;
        !            77:                        u_short f_ir1, f_ir2;
        !            78:                        u_int   f_dob;
        !            79:                        u_short f_ir3, f_ir4;
        !            80:                        u_short f_ir5, f_ir6;
        !            81:                        u_int   f_sba;
        !            82:                        u_short f_ir7, f_ir8;
        !            83:                        u_int   f_dib;
        !            84:                        u_short f_iregs[22];
        !            85:                } F_fmtB;
        !            86:        } F_u;
        !            87: };
        !            88: 
        !            89: #define        f_fmt2          F_u.F_fmt2
        !            90: #define        f_fmtA          F_u.F_fmtA
        !            91: #define        f_fmtB          F_u.F_fmtB
        !            92: 
        !            93: /* common frame size */
        !            94: #define        CFSIZE          (sizeof(struct frame) - sizeof(union F_u))
        !            95: #define        NFMTSIZE        8
        !            96: 
        !            97: #define        FMT0            0x0
        !            98: #define        FMT1            0x1
        !            99: #define        FMT2            0x2
        !           100: #define        FMT9            0x9
        !           101: #define        FMTA            0xA
        !           102: #define        FMTB            0xB
        !           103: 
        !           104: /* frame specific info sizes */
        !           105: #define        FMT0SIZE        0
        !           106: #define        FMT1SIZE        0
        !           107: #define        FMT2SIZE        sizeof(struct fmt2)
        !           108: #define        FMT9SIZE        sizeof(struct fmt9)
        !           109: #define        FMTASIZE        sizeof(struct fmtA)
        !           110: #define        FMTBSIZE        sizeof(struct fmtB)
        !           111: 
        !           112: #define        V_BUSERR        0x008
        !           113: #define        V_ADDRERR       0x00C
        !           114: #define        V_TRAP1         0x084
        !           115: 
        !           116: #define        SSW_RC          0x2000
        !           117: #define        SSW_RB          0x1000
        !           118: #define        SSW_DF          0x0100
        !           119: #define        SSW_RM          0x0080
        !           120: #define        SSW_RW          0x0040
        !           121: #define        SSW_FCMASK      0x0007
        !           122: 
        !           123: struct fpframe {
        !           124:        union FPF_u1 {
        !           125:                u_int   FPF_null;
        !           126:                struct {
        !           127:                        u_char  FPF_version;
        !           128:                        u_char  FPF_fsize;
        !           129:                        u_short FPF_res1;
        !           130:                } FPF_nonnull;
        !           131:        } FPF_u1;
        !           132:        union FPF_u2 {
        !           133:                struct fpidle {
        !           134:                        u_short fpf_ccr;
        !           135:                        u_short fpf_res2;
        !           136:                        u_int   fpf_iregs1[8];
        !           137:                        u_int   fpf_xops[3];
        !           138:                        u_int   fpf_opreg;
        !           139:                        u_int   fpf_biu;
        !           140:                } FPF_idle;
        !           141: 
        !           142:                struct fpbusy {
        !           143:                        u_int   fpf_iregs[53];
        !           144:                } FPF_busy;
        !           145:        } FPF_u2;
        !           146:        u_int   fpf_regs[8*3];
        !           147:        u_int   fpf_fpcr;
        !           148:        u_int   fpf_fpsr;
        !           149:        u_int   fpf_fpiar;
        !           150: };
        !           151: 
        !           152: #define fpf_null       FPF_u1.FPF_null
        !           153: #define fpf_version    FPF_u1.FPF_nonnull.FPF_version
        !           154: #define fpf_fsize      FPF_u1.FPF_nonnull.FPF_fsize
        !           155: #define fpf_res1       FPF_u1.FPF_nonnull.FPF_res1
        !           156: #define fpf_idle       FPF_u2.FPF_idle
        !           157: #define fpf_busy       FPF_u2.FPF_busy

unix.superglobalmegacorp.com

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