home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
detk45he.zip
/
entry.h
< prev
next >
Wrap
Text File
|
1999-05-11
|
6KB
|
225 lines
/***************************************************************************/
/* IBM CONFIDENTIAL */
/* OCO Source Materials */
/* IBM TCP/IP for OS/2 */
/* (c) Copyright IBM Corp 1992,1997 */
/* The source code for this program is not published or otherwise */
/* divested of its trade secrets, irrespective of what has been */
/* deposited with the U.S. Copyright Office */
/***************************************************************************/
#ifndef ENTRY_H
#define ENTRY_H
/* As it is clear from the file name, there are 2 strustures
* declared in this header file. The first structure is used
* to fill the entry routines needed by the R0 applications.
* The second structure is used to fill the entry routines
* needed by the protocol device drivers (PDD).
*/
struct R0Buffer {
/* single entry point for all R0 socket APIS */
char * r0entry;
/* mbuf related calls */
/* new calls */
char * newmget;
char * newmfree;
char * get_cluster;
char * free_cluster;
/* traditional calls */
char * m_get;
char * m_getclr;
char * m_free;
char * m_freem;
char * m_copy;
char * m_cat;
char * m_adj;
char * m_pullup;
/* data for mbuf utilities */
char * mbstat;
};
struct PDDBuffer {
/* mbuf related calls */
/* new calls */
void ( * newmget)();
void ( * newmfree)();
void ( * get_cluster)();
void ( * free_cluster)();
/* traditional calls */
void ( * m_get)();
void ( * m_getclr)();
void ( * m_free)();
void ( * m_freem)();
void ( * m_copy)();
void ( * m_cat)();
void ( * m_adj)();
void ( * m_pullup)();
/* data for mbuf utilities */
void * mbstat;
/* calls from uipc_so1.c */
void ( * sofree)();
void ( * soclose)();
void ( * soabort)();
void ( * sodisconnect)();
void ( * soshutdown)();
void ( * sorflush)();
void ( * sohasoutofband)();
/* calls from uipc_so2.c */
void ( * soisconnecting)();
void ( * soisconnected)();
void ( * soisdisconnecting)();
void ( * soisdisconnected)();
void ( * sonewconn1)();
void ( * socantsendmore)();
void ( * socantrcvmore)();
void ( * sbwait)();
void ( * sbwakeup)();
void ( * sowakeup)(); /* is actually called from sowwakeup() */
void ( * sowakeup1)(); /* is actually called from sorwakeup() */
void ( * soreserve)();
void ( * sbreserve)();
void ( * sbrelease)();
void ( * sbappend)();
void ( * sbappendrecord)();
void ( * sbappendaddr)();
void ( * sbappendrights)();
void ( * sbflush)();
void ( * sbdrop)();
void ( * sbdroprecord)();
/* data */
struct socket * * socket_bucket;
long * allocatedSocket;
struct socket * (* sno_to_socket) ();
struct domain * domains;
/* from dprintf.c */
void ( * dprintf)();
void ( * dvprintf)();
void ( * alloc_debug_mem)();
void ( * dbgexp)();
void ( * dbgflags)();
/* corresponding data pointers */
char * dbgbuf;
char * dbgbufphys;
/* set in ifndis */
unsigned long * hostid;
#ifdef OFFLOAD
/* for offload support, used in afinet$ */
void ( * enq_event)();
#endif
/* for Anynet - as per Bart Vashaw, sept 30 '94 */
char * currentGDT;
char * GDTsels;
void ( * alloccluster)(); /* recommended to use get_cluster() whenever possible */
/* the difference is that get_cluster() gets a single cluster
* of 4Kbytes, but in alloccluster() we can pass the size of
* memory needed.
*/
/* added for anynet to work properly */
/* may 25 1995 */
short MAXGDTS;
void ( * socket)();
void ( * connect)();
long ( * sosetopt)();
void ( * sendit)();
void ( * recvit)();
void ( * soo_close)();
void ( * shutdown)();
short( * sockargs)();
void ( * sock_cancel)();
/* jun 22 1995, added for Anynet */
void ( * listen)();
void ( * accept)();
void ( * soo_select)();
void ( * soo_winsock_select)();
#ifdef SMP
unsigned long * grab; /* passed to grab the lock */
unsigned long * grabtimeout; /* passed to set the grab timer */
#endif
void (* AddDomain)();
unsigned long * pGInfo;
unsigned long * pLInfo;
unsigned long * gseconds;
unsigned long * gmilseconds;
unsigned long (* ms_since_midnight)();
void (* yield)();
void (* gdv_yield)();
void (* gdv_tcyield)();
long(* sleep)();
long(* sleeptime)();
void (* wakeup)();
void (* lock)();
long (*_CDevHelp)();
unsigned long * ptkssbase;
struct mbuf * (* m_prepend)();
void (* m_copydata)();
struct mbuf * (* m_copym)();
struct mbuf * (* m_gethdr)();
struct mbuf * (* m_retryhdr)();
struct mbuf * (* m_retry)();
long (* sb_lock)();
long max_hdr;
long max_datalen;
long max_linkhdr;
long max_protohdr;
unsigned long sb_max;
struct protosw * (* pffindproto)();
void (* pfctlinput)();
void (* lockcode32)();
unsigned long * _debug_flag_p;
int (* splon)();
int (* sploff)();
long (*bcmp) ();
long (*bzero)();
long (*bset) ();
long (*bcopy)();
unsigned long (* mhouse)();
short * p_spr;
long * p_intr_tr_buf1;
long * clean_partial_conns;
unsigned long (*seltoflat)();
unsigned long * ip_id;
struct in_ifaddr ** in_ifaddr;
struct ifnet ** ifnet;
void (*devhelp32)(void);
int (*DevHelp_OpenEventSem)();
int (*DevHelp_SemHandle)();
int (*DevHelp_PostEventSem)();
unsigned long * (*mclrefcnt)();
int (*DevHelp_CloseEventSem)();
int (*acceptwakeup)();
void (*soqinsque)();
void (*sbuck_remque)();
#ifdef PERF_HTTP
void (*sonewconn_http)();
#endif
#ifdef KEE
void (*attach_cluster)();
void (*newmgethdr)();
#endif
};
#endif