Annotation of 43BSDReno/sys/netiso/tp_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:  *     @(#)tp_sizes.c  7.3 (Berkeley) 8/29/89 *
        !            52:  *
        !            53:  *
        !            54:  * This is the initialization and cleanup stuff - 
        !            55:  * for the tp machine in general as well as  for the individual pcbs.
        !            56:  * tp_init() is called at system startup.  tp_attach() and tp_getref() are
        !            57:  * called when a socket is created.  tp_detach() and tp_freeref()
        !            58:  * are called during the closing stage and/or when the reference timer 
        !            59:  * goes off. 
        !            60:  * tp_soisdisconnecting() and tp_soisdisconnected() are tp-specific 
        !            61:  * versions of soisconnect*
        !            62:  * and are called (obviously) during the closing phase.
        !            63:  *
        !            64:  */
        !            65: 
        !            66: #ifndef lint
        !            67: static char *rcsid = "$Header: tp_sizes.c,v 5.1 88/10/12 12:21:03 root Exp $";
        !            68: #endif lint
        !            69: 
        !            70: #include "argoxtwentyfive.h"
        !            71: #include "types.h"
        !            72: #include "param.h"
        !            73: #include "mbuf.h"
        !            74: #include "socket.h"
        !            75: #include "socketvar.h"
        !            76: #include "protosw.h"
        !            77: #include "errno.h"
        !            78: #include "time.h"
        !            79: #include "tp_param.h"
        !            80: #include "tp_stat.h"
        !            81: #include "tp_pcb.h"
        !            82: #include "tp_tpdu.h"
        !            83: #include "tp_trace.h"
        !            84: #include "tp_meas.h"
        !            85: #include "tp_seq.h"
        !            86: #include "tp_clnp.h"
        !            87: 
        !            88: #include "iso_errno.h"
        !            89: #include "cons.h"
        !            90: #undef IncStat
        !            91: #include "cons_pcb.h"
        !            92: 
        !            93: #define DUP(x) x, x
        !            94: #define SIZE(P) printf("  Size of %s: 0x%x %d\n", "P", DUP(sizeof(struct P)))
        !            95: #define OFF(P, Q) printf("\toffset of %s in %s: 0x%x %d\n", "P", "Q", \
        !            96:                DUP(_offsetof(struct Q, P)))
        !            97: main()
        !            98: {
        !            99:        printf( "TP struct sizes:\n");
        !           100:        SIZE(tp_pcb);
        !           101: #define O(y) OFF(tp_/**/y,tp_pcb);
        !           102:        O(state) O(retrans) O(snduna) O(lref) O(fref)
        !           103:        O(fsuffix) O(fsuffixlen) O(lsuffix) O(lsuffixlen) O(Xsnd) O(Xuna)
        !           104:        SIZE(tp_ref);
        !           105: #undef O
        !           106: #define O(y) OFF(tpr_/**/y,tp_ref);
        !           107:        O(pcb) O(calltodo)
        !           108:        SIZE(tp_stat);
        !           109:        SIZE(tp_param); SIZE(tp_conn_param);
        !           110:        SIZE(tp_rtc); SIZE(nl_protosw);
        !           111: #undef O
        !           112: #define O(y) OFF(so_/**/y,socket);
        !           113:        printf( "socket struct sizes:\n");
        !           114:        SIZE(socket);
        !           115:        O(timeo) O(rcv) O(snd) O(tpcb) O(pcb) O(qlen) O(error) O(state)
        !           116:        SIZE(sockbuf);
        !           117: #undef O
        !           118: #define O(y) OFF(sb_/**/y,sockbuf);
        !           119:        O(flags) O(cc) O(mb) O(mbcnt)
        !           120:        SIZE(isopcb); SIZE(cons_pcb);
        !           121:        OFF(co_state,cons_pcb);
        !           122: }

unix.superglobalmegacorp.com

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