Annotation of 43BSDReno/sys/netiso/iso_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:  *
                     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.