home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / dax1.exe / CP / CPS / CPS.H < prev    next >
Text File  |  1992-07-15  |  4KB  |  78 lines

  1. //   ╔════════════════════════════════════════════════════════════════════╗
  2. //   ║                                                                    ║
  3. //   ║ module:      cps.h                                                 ║
  4. //   ║                                                                    ║
  5. //   ║  This software is provided as is and carries no warranty           ║
  6. //   ║  whatsoever.  Novell disclaims and excludes any and all implied    ║
  7. //   ║  warranties of merchantability, title and fitness for a particular ║
  8. //   ║  purpose.  Novell does not warrant that the software will satisfy  ║
  9. //   ║  your requirements or that the software is without defect or error ║
  10. //   ║  or that operation of the software will be uninterrupted.  You are ║
  11. //   ║  using the software at your risk.  The software is not a product   ║
  12. //   ║  of Novell, Inc. or any of subsidiaries.                           ║
  13. //   ║                                                                    ║
  14. //   ╟────────────────────────────────────────────────────────────────────╢
  15. //   ║ maintenance history:                                               ║
  16. //   ║ level    date      pi   description                                ║
  17. //   ╟────────────────────────────────────────────────────────────────────╢
  18. //   ║  001   01/28/92    kl   initial release.                           ║
  19. //   ╚════════════════════════════════════════════════════════════════════╝
  20.  
  21. #if !defined(CPSHDR)
  22. #define CPSHDR
  23.  
  24. #include    <nwtypes.h>
  25. #include    <nwipxspx.h>
  26.  
  27. #define     CPSNUMSENDELEM  3
  28. #define     CPSNUMRECVELEM  20      //!! how high should this go?
  29. #define     CPSDEFNUMCLNTS  50      //!! make this dynamic...
  30. #define     CPSCTHRESHHOLD  10
  31.  
  32. #define ECB_IN_USE(ecb)     ((ecb).status > 0 && (ecb).status < 0xF000)
  33. #define ECBp_IN_USE(ecbp)   ((ecbp)->status > 0 && (ecbp)->status < 0xF000)
  34.  
  35. //------------------------------------------------------------------------
  36. //
  37. //  Create a structure that holds everything we need to send/recv data
  38. //  on a session between the client and server. We'll have an array of
  39. //  these on the server side.
  40. //
  41. typedef     struct{
  42.         IPX_ECB     ecb;
  43.         IPX_HEADER  ipx;
  44.         CPMESSAGE   cpmsg;
  45. }CPCOMMDATA;
  46.  
  47. //------------------------------------------------------------------------
  48. //
  49. //  Create a structure that has what we need to keep track of a session.
  50. //  A pointer to this structure is given to the DAP Layer, and it uses
  51. //  this on all calls to the CP Layer.
  52. //
  53. typedef     struct{
  54.         UINT32          sip;        // session in progress flag
  55.         InternetAddress ipxaddr;    // network address of client
  56.         CPHEADER        cphdr;      // header for cp layer between client/server
  57. }CPDATA;
  58.  
  59. extern  int     RenameThread(int,char *);
  60. extern  CPDATA  *CPGetClientInfo(LONG index);
  61. extern  UINT32  CPGetSessionID(IPX_HEADER *IPXhdr, CPMESSAGE *CPmsg);
  62. extern  T_RC    CPInitializeConnLogic(void);
  63. extern  T_RC    CPDeInitializeConnLogic(void);
  64. extern  WORD    CPGetAdvertisingSocket(void);
  65. extern  int     (*_CPioRoutine)(char *,...);
  66. extern  int     __CPIgnoreIO(char *fmt, ...);
  67. extern  T_RC    CPInitializeRecvLogic(void (*EnqueueRequestAPI)(UINT32, void *));
  68. extern  void    CPDeInitializeRecvLogic(void);
  69. extern  T_RC    CPInitializeSendLogic(void);
  70. extern  T_RC    CPSendMessage(UINT32 sessionID, void *data, unsigned length);
  71. extern  T_RC    CPDeInitializeSendLogic(void);
  72. extern  void    CPInitSendPacket(WORD socket,IPX_ECB *ecb,IPX_HEADER *hdr,void *request,WORD sizeRequest);
  73. extern  void    CPInitRecvPacket(WORD socket,long semHandle,IPX_ECB **queueHead,IPX_ECB *ecb,IPX_HEADER *hdr,void *reply,WORD sizeReply);
  74.  
  75. #endif
  76.  
  77. 
  78.