Files
seta75D d6fe8fe829 Init
2021-10-11 22:19:34 -03:00

167 lines
3.8 KiB
C

/* @(#)67 1.5 src/bos/usr/include/netiso/tp_trace.h, sockinc, bos411, 9428A410j 3/5/94 12:42:03 */
/*
*
* COMPONENT_NAME: (SOCKET) Socket services
*
* FUNCTIONS:
*
* ORIGINS: 26 27
*
* (C) COPYRIGHT International Business Machines Corp. 1988, 1989, 1991
* All Rights Reserved
* Licensed Materials - Property of IBM
*
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*****************************************************************/
/*
* ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison
*/
/*
* ARGO TP
*
* $Header: tp_trace.h,v 5.1 88/10/12 12:21:51 root Exp $
* $Source: /usr/argo/sys/netiso/RCS/tp_trace.h,v $
* (#)tp_trace.h 7.3 (Berkeley) 8/29/89 *
*
*
* Definitions needed for the protocol trace mechanism.
*/
#ifndef __TP_TRACE__
#define __TP_TRACE__
/* no Tracing stuff for now 10/29/90 - Vinkesh */
#undef TPPT
#ifdef TPPT
#define TPPTsendack 1
#define TPPTgotack 2
#define TPPTXack 3
#define TPPTgotXack 4
#define TPPTack 5
#define TPPTindicate 6
#define TPPTusrreq 7
#define TPPTmisc 8
#define TPPTpcb 9
#define TPPTref 10
#define TPPTtpduin 11
#define TPPTparam 12
#define TPPTertpdu 13
#define TPPTdriver 14
#define TPPTtpduout 15
#include "../netiso/tp_pcb.h"
/* this #if is to avoid lint */
#if defined(TP_TRACEFILE)||!defined(_KERNEL)
#include "../netiso/tp_tpdu.h"
#define TPTRACE_STRLEN 50
/* for packet tracing */
struct tp_timeval {
SeqNum tptv_seq;
u_int tptv_kind;
u_int tptv_window;
u_int tptv_size;
};
struct tp_Trace {
u_int tpt_event;
u_int tpt_arg;
u_int tpt_arg2;
int tpt_tseq;
struct timeval tpt_time;
union {
struct inpcb tpt_Inpcb; /* protocol control block */
struct tp_ref tpt_Ref; /* ref part of pcb */
struct tpdu tpt_Tpdu; /* header*/
struct tp_param tpt_Param; /* ?? bytes, make sure < 128??*/
struct tp_timeval tpt_Time;
struct {
u_int tptm_2;
u_int tptm_3;
u_int tptm_4;
u_int tptm_5;
char tpt_Str[TPTRACE_STRLEN];
u_int tptm_1;
} tptmisc;
u_char tpt_Ertpdu; /* use rest of structure */
} tpt_stuff;
};
#define tpt_inpcb tpt_stuff.tpt_Inpcb
#define tpt_pcb tpt_stuff.tpt_Pcb
#define tpt_ref tpt_stuff.tpt_Ref
#define tpt_tpdu tpt_stuff.tpt_Tpdu
#define tpt_param tpt_stuff.tpt_Param
#define tpt_ertpdu tpt_stuff.tpt_Ertpdu
#define tpt_str tpt_stuff.tptmisc.tpt_Str
#define tpt_m1 tpt_stuff.tptmisc.tptm_1
#define tpt_m2 tpt_stuff.tptmisc.tptm_2
#define tpt_m3 tpt_stuff.tptmisc.tptm_3
#define tpt_m4 tpt_stuff.tptmisc.tptm_4
#define tpt_m5 tpt_stuff.tptmisc.tptm_5
#define tpt_seq tpt_stuff.tpt_Time.tptv_seq
#define tpt_kind tpt_stuff.tpt_Time.tptv_kind
#define tpt_window tpt_stuff.tpt_Time.tptv_window
#define tpt_size tpt_stuff.tpt_Time.tptv_size
#define TPTRACEN 300
int tp_Tracen = 0;
struct tp_Trace tp_Trace[TPTRACEN];
#endif /* defined(TP_TRACEFILE)||!defined(_KERNEL) */
extern u_char tp_traceflags[];
#define IFTRACE(ascii)\
if(tp_traceflags[ascii]) {
/*
* for some reason lint complains about tp_param being undefined no
* matter where or how many times I define it.
*/
#define ENDTRACE }
#define tptrace(A,B,C,D,E,F) \
tpTrace((struct tp_pcb *)0,\
(u_int)(A),(u_int)(B),(u_int)(C),(u_int)(D),(u_int)(E),(u_int)(F))
#define tptraceTPCB(A,B,C,D,E,F) \
tpTrace(tpcb,\
(u_int)(A),(u_int)(B),(u_int)(C),(u_int)(D),(u_int)(E),(u_int)(F))
extern void tpTrace();
#else TPPT
/***********************************************
* NO TPPT TRACE STUFF
**********************************************/
#ifndef STAR
#define STAR *
#endif /* STAR */
/* Changed from the orignal string in BSD 44 due to compiler bug on AIX
* for IFTRACE and ENDTRACE
* - Vinkesh
*/
#define IFTRACE(ascii) {
#define ENDTRACE }
#define tptrace(A,B,C,D,E,F)
#define tptraceTPCB(A,B,C,D,E,F)
#endif /* TPPT */
#endif /* __TP_TRACE__ */