home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / detk45he.zip / entry.h < prev    next >
Text File  |  1999-05-11  |  6KB  |  225 lines

  1. /***************************************************************************/
  2. /* IBM CONFIDENTIAL                                                        */
  3. /* OCO Source Materials                                                    */
  4. /* IBM TCP/IP for OS/2                                                     */
  5. /* (c) Copyright IBM Corp 1992,1997                                        */
  6. /* The source code for this program is not published or otherwise          */
  7. /* divested of its trade secrets, irrespective of what has been            */
  8. /* deposited with the U.S. Copyright Office                                */
  9. /***************************************************************************/
  10. #ifndef ENTRY_H
  11. #define ENTRY_H
  12.  
  13. /* As it is clear from the file name, there are 2 strustures
  14.  * declared in this header file. The first structure is used
  15.  * to fill the entry routines needed by  the R0 applications.
  16.  * The second structure is used to fill the entry routines
  17.  * needed by the protocol device drivers (PDD).
  18.  */
  19.  
  20. struct R0Buffer {
  21.   /* single entry point for all R0 socket APIS */
  22.   char  * r0entry;
  23.  
  24.   /* mbuf related calls */
  25.   /* new calls */
  26.   char  * newmget;
  27.   char  * newmfree;
  28.   char  * get_cluster;
  29.   char  * free_cluster;
  30.   /* traditional calls */
  31.   char  * m_get;
  32.   char  * m_getclr;
  33.   char  * m_free;
  34.   char  * m_freem;
  35.   char  * m_copy;
  36.   char  * m_cat;
  37.   char  * m_adj;
  38.   char  * m_pullup;
  39.   /* data for mbuf utilities */
  40.   char  * mbstat;
  41.  
  42. };
  43.  
  44.  
  45. struct PDDBuffer {
  46.  
  47.   /* mbuf related calls */
  48.   /* new calls */
  49.   void ( * newmget)();
  50.   void ( * newmfree)();
  51.   void ( * get_cluster)();
  52.   void ( * free_cluster)();
  53.   /* traditional calls */
  54.   void ( * m_get)();
  55.   void ( * m_getclr)();
  56.   void ( * m_free)();
  57.   void ( * m_freem)();
  58.   void ( * m_copy)();
  59.   void ( * m_cat)();
  60.   void ( * m_adj)();
  61.   void ( * m_pullup)();
  62.   /* data for mbuf utilities */
  63.   void  * mbstat;
  64.  
  65.   /* calls from uipc_so1.c */
  66.   void ( * sofree)();
  67.   void ( * soclose)();
  68.   void ( * soabort)();
  69.   void ( * sodisconnect)();
  70.   void ( * soshutdown)();
  71.   void ( * sorflush)();
  72.   void ( * sohasoutofband)();
  73.  
  74.   /* calls from uipc_so2.c */
  75.  
  76.   void ( * soisconnecting)();
  77.   void ( * soisconnected)();
  78.   void ( * soisdisconnecting)();
  79.   void ( * soisdisconnected)();
  80.   void ( * sonewconn1)();
  81.   void ( * socantsendmore)();
  82.   void ( * socantrcvmore)();
  83.   void ( * sbwait)();
  84.   void ( * sbwakeup)();
  85.   void ( * sowakeup)();           /* is actually called from sowwakeup() */
  86.   void ( * sowakeup1)();          /* is actually called from sorwakeup() */
  87.   void ( * soreserve)();
  88.   void ( * sbreserve)();
  89.   void ( * sbrelease)();
  90.   void ( * sbappend)();
  91.   void ( * sbappendrecord)();
  92.   void ( * sbappendaddr)();
  93.   void ( * sbappendrights)();
  94.   void ( * sbflush)();
  95.   void ( * sbdrop)();
  96.   void ( * sbdroprecord)();
  97.  
  98.   /* data */
  99.   struct socket * * socket_bucket;
  100.   long * allocatedSocket;
  101.   struct socket * (* sno_to_socket) ();
  102.   struct domain  * domains;
  103.  
  104.  
  105.   /* from dprintf.c */
  106.   void ( * dprintf)();
  107.   void ( * dvprintf)();
  108.   void ( * alloc_debug_mem)();
  109.   void ( * dbgexp)();
  110.   void ( * dbgflags)();
  111.  
  112.   /* corresponding data pointers */
  113.   char  * dbgbuf;
  114.   char  * dbgbufphys;
  115.  
  116.   /* set in ifndis */
  117.   unsigned long  * hostid;
  118.  
  119. #ifdef OFFLOAD
  120.   /* for offload support, used in afinet$ */
  121.   void ( * enq_event)();
  122. #endif
  123.  
  124.   /* for Anynet - as per Bart Vashaw, sept 30 '94 */
  125.   char  * currentGDT;
  126.   char  * GDTsels;
  127.   void ( * alloccluster)(); /* recommended to use get_cluster() whenever possible */
  128.                /* the difference is that get_cluster() gets a single cluster
  129.                             * of 4Kbytes, but in alloccluster() we can pass the size of
  130.                             * memory needed.
  131.                             */
  132.   /* added for anynet to work properly */
  133.   /* may 25 1995 */
  134.   short  MAXGDTS;
  135.   void ( * socket)();
  136.   void ( * connect)();
  137.   long ( * sosetopt)();
  138.   void ( * sendit)();
  139.   void ( * recvit)();
  140.   void ( * soo_close)();
  141.   void ( * shutdown)();
  142.   short( * sockargs)();
  143.   void ( * sock_cancel)();
  144.   /* jun 22 1995, added for Anynet */
  145.   void ( * listen)();
  146.   void ( * accept)();
  147.   void ( * soo_select)();
  148.   void ( * soo_winsock_select)();
  149.  
  150.  
  151. #ifdef SMP
  152.    unsigned long  * grab;  /* passed to grab the lock */
  153.    unsigned long  * grabtimeout; /* passed to set the grab timer */
  154. #endif
  155.    void (* AddDomain)();
  156.    unsigned long * pGInfo;
  157.    unsigned long * pLInfo;
  158.    unsigned long * gseconds;
  159.    unsigned long * gmilseconds;
  160.    unsigned long (* ms_since_midnight)();
  161.    void (* yield)();
  162.    void (* gdv_yield)();
  163.    void (* gdv_tcyield)();
  164.    long(* sleep)();
  165.    long(* sleeptime)();
  166.    void (* wakeup)();
  167.    void (* lock)();
  168.    long (*_CDevHelp)();
  169.    unsigned long * ptkssbase;
  170.    struct mbuf * (* m_prepend)();
  171.    void  (* m_copydata)();
  172.    struct mbuf *  (* m_copym)();
  173.    struct mbuf *  (* m_gethdr)();
  174.    struct mbuf *  (* m_retryhdr)();
  175.    struct mbuf *  (* m_retry)();
  176.    long  (* sb_lock)();
  177.    long max_hdr;
  178.    long max_datalen;
  179.    long max_linkhdr;
  180.    long max_protohdr;
  181.    unsigned long sb_max;
  182.    struct protosw * (* pffindproto)();
  183.    void  (* pfctlinput)();
  184.    void  (* lockcode32)();
  185.    unsigned long * _debug_flag_p;
  186.    int  (* splon)();
  187.    int  (* sploff)();
  188.    long  (*bcmp) ();
  189.    long  (*bzero)();
  190.    long  (*bset) ();
  191.    long  (*bcopy)();
  192.    unsigned long  (* mhouse)();
  193.    short * p_spr;
  194.    long  * p_intr_tr_buf1;
  195.    long  * clean_partial_conns;
  196.   unsigned long (*seltoflat)();
  197.   unsigned long * ip_id;
  198.   struct in_ifaddr ** in_ifaddr;
  199.   struct ifnet ** ifnet;
  200.   void   (*devhelp32)(void);
  201.   int    (*DevHelp_OpenEventSem)();
  202.   int    (*DevHelp_SemHandle)();
  203.   int    (*DevHelp_PostEventSem)();
  204.   unsigned long * (*mclrefcnt)();
  205.   int    (*DevHelp_CloseEventSem)();
  206.   int    (*acceptwakeup)();
  207.   void   (*soqinsque)();
  208.   void   (*sbuck_remque)();
  209. #ifdef PERF_HTTP
  210.   void   (*sonewconn_http)();
  211. #endif
  212. #ifdef KEE
  213.   void   (*attach_cluster)();
  214.   void   (*newmgethdr)();
  215. #endif
  216.  
  217. };
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224. #endif
  225.