Annotation of 43BSDReno/sys/netiso/tp_sizes.c, revision 1.1.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.