|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.