Annotation of 43BSDReno/sys/netiso/iso_sizes.c, revision 1.1

1.1     ! root        1: /************************************************************
        !             2:                Copyright IBM Corporation 1987
        !             3: 
        !             4:                       All Rights Reserved
        !             5: 
        !             6: Permission to use, copy, modify, and distribute this software and its 
        !             7: documentation for any purpose and without fee is hereby granted, 
        !             8: provided that the above copyright notice appear in all copies and that
        !             9: both that copyright notice and this permission notice appear in 
        !            10: supporting documentation, and that the name of IBM not be
        !            11: used in advertising or publicity pertaining to distribution of the
        !            12: software without specific, written prior permission.  
        !            13: 
        !            14: IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
        !            15: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
        !            16: IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
        !            17: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
        !            18: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
        !            19: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
        !            20: SOFTWARE.
        !            21: 
        !            22: ******************************************************************/
        !            23: 
        !            24: /*
        !            25:  * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison
        !            26:  */
        !            27: 
        !            28: #define KERNEL
        !            29: #define MERGED
        !            30: #define IBMRTPC
        !            31: #define CLNPECHO
        !            32: /* #define TP_PERF_MEAS */
        !            33: #define CONS
        !            34: #define TPPT
        !            35: #define ARGO_TP
        !            36: #define ARGO_DEBUG
        !            37: #define ISO
        !            38: #define RDB
        !            39: #define SHOW_LOAD
        !            40: #define DEBUG
        !            41: #define INET
        !            42: #define MAXUSERS 32
        !            43: #define DST 1
        !            44: #define TIMEZONE 360
        !            45: 
        !            46: /* 
        !            47:  * ARGO TP
        !            48:  *
        !            49:  * $Header: tp_sizes.c,v 5.1 88/10/12 12:21:03 root Exp $
        !            50:  * $Source: /usr/argo/sys/netiso/RCS/tp_sizes.c,v $
        !            51:  *
        !            52:  *
        !            53:  * This is the initialization and cleanup stuff - 
        !            54:  * for the tp machine in general as well as  for the individual pcbs.
        !            55:  * tp_init() is called at system startup.  tp_attach() and tp_getref() are
        !            56:  * called when a socket is created.  tp_detach() and tp_freeref()
        !            57:  * are called during the closing stage and/or when the reference timer 
        !            58:  * goes off. 
        !            59:  * tp_soisdisconnecting() and tp_soisdisconnected() are tp-specific 
        !            60:  * versions of soisconnect*
        !            61:  * and are called (obviously) during the closing phase.
        !            62:  *
        !            63:  */
        !            64: 
        !            65: #ifndef lint
        !            66: static char *rcsid = "$Header: tp_sizes.c,v 5.1 88/10/12 12:21:03 root Exp $";
        !            67: #endif lint
        !            68: 
        !            69: #include "argoxtwentyfive.h"
        !            70: #include "types.h"
        !            71: #include "param.h"
        !            72: #include "mbuf.h"
        !            73: #include "socket.h"
        !            74: #include "socketvar.h"
        !            75: #include "protosw.h"
        !            76: #include "errno.h"
        !            77: #include "time.h"
        !            78: #include "tp_param.h"
        !            79: #include "tp_stat.h"
        !            80: #include "tp_pcb.h"
        !            81: #include "tp_tpdu.h"
        !            82: #include "tp_trace.h"
        !            83: #include "tp_meas.h"
        !            84: #include "tp_seq.h"
        !            85: #include "tp_clnp.h"
        !            86: 
        !            87: #include "iso_errno.h"
        !            88: #include "cons.h"
        !            89: #undef IncStat
        !            90: #include "cons_pcb.h"
        !            91: 
        !            92: #define DUP(x) x, x
        !            93: #define SIZE(P) printf("  Size of %s: 0x%x %d\n", "P", DUP(sizeof(struct P)))
        !            94: #define OFF(P, Q) printf("\toffset of %s in %s: 0x%x %d\n", "P", "Q", \
        !            95:                DUP(_offsetof(struct Q, P)))
        !            96: main()
        !            97: {
        !            98:        printf( "IP struct sizes:\n");
        !            99:        SIZE(sockaddr_iso);
        !           100:        SIZE(isopcb);
        !           101:        SIZE(iso_ifaddr);
        !           102:        SIZE(tp_pcb);
        !           103: #define O(y) OFF(if_/**/y,ifnet);
        !           104:        O(unit) O(ioctl) O(addrlist)
        !           105:        printf( "ISO struct sizes:\n");
        !           106:        SIZE(socket);
        !           107:        OFF(so_timeo,socket); OFF(so_rcv,socket); OFF(so_snd,socket);
        !           108:        OFF(so_tpcb,socket); OFF(so_pcb,socket); OFF(so_qlen,socket);
        !           109:        OFF(so_error,socket); OFF(so_state,socket);
        !           110:        SIZE(sockbuf);
        !           111:        OFF(sb_flags,sockbuf); OFF(sb_cc,sockbuf);
        !           112:        OFF(sb_mb,sockbuf); OFF(sb_mbcnt,sockbuf);
        !           113:        SIZE(isopcb);
        !           114:         SIZE(cons_pcb); OFF(co_state,cons_pcb);
        !           115: }

unix.superglobalmegacorp.com

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