home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 November / PCWorld_2000-11_cd.bin / Komunik / sambar444 / _SETUP.1 / security.h < prev    next >
C/C++ Source or Header  |  1999-10-09  |  3KB  |  88 lines

  1. /*
  2. ** SECURITY.H
  3. **
  4. **      This header file contains the public HTTP interfaces used by the
  5. **        Sambar Server for interfacing with the Security Interfaces.
  6. **
  7. **        Confidential Property of Tod Sambar
  8. **        (c) Copyright Tod Sambar 1996-1997
  9. **        All rights reserved.
  10. **
  11. **
  12. ** History:
  13. ** Chg#    Date    Description                                                Resp
  14. ** ----    -------    -------------------------------------------------------    ----
  15. **        4FEB97    Created                                                    sambar
  16. */
  17.  
  18. #if     !defined(__SECURITY_H__)
  19. #define __SECURITY_H__
  20.  
  21. #include    <sambar.h>
  22.  
  23. /*
  24. ** Security Structures
  25. */
  26. typedef struct __ENTRY
  27. {
  28.     SA_INT                valuelen;
  29.     SA_CHAR                *value;
  30.     struct __ENTRY        *next;
  31. } ENTRY;
  32.  
  33. typedef struct __security
  34. {
  35.     SA_INT                namelen;
  36.     SA_CHAR                *name;
  37.     ENTRY                *entries;
  38.     struct __security    *next;
  39. } SECURITY;
  40.  
  41. #define SECURITY_REDIRECT        (SA_INT)0
  42. #define SECURITY_RESTRICT        (SA_INT)1
  43. #define SECURITY_DENY            (SA_INT)2
  44. #define SECURITY_HTTPACCEPT        (SA_INT)3
  45. #define SECURITY_HTTPDENY        (SA_INT)4
  46. #define SECURITY_FTPACCEPT        (SA_INT)5
  47. #define SECURITY_FTPDENY        (SA_INT)6
  48. #define SECURITY_PROXYACCEPT    (SA_INT)7
  49. #define SECURITY_PROXYDENY        (SA_INT)8
  50. #define SECURITY_HOSTFILTER        (SA_INT)9
  51. #define SECURITY_URLFILTER        (SA_INT)10
  52. #define SECURITY_IPRESTRICT        (SA_INT)11
  53. #define SECURITY_HOSTRESTRICT    (SA_INT)12
  54. #define SECURITY_URLRESTRICT    (SA_INT)13
  55. #define SECURITY_MAILACCEPT        (SA_INT)14
  56. #define SECURITY_MAILDENY        (SA_INT)15
  57. #define SECURITY_DNSACCEPT        (SA_INT)16
  58. #define SECURITY_DNSDENY        (SA_INT)17
  59. #define SECURITY_SIPACCEPT        (SA_INT)18
  60. #define SECURITY_SIPDENY        (SA_INT)19
  61.  
  62.  
  63. /*
  64. ** Sambar Server/Security Function Prototypes
  65. */
  66. #if defined(__cplusplus)
  67. extern "C" {
  68. #endif /* defined(__cplusplus) */
  69.  
  70. extern SA_RETCODE SA_EXPORT     security_init(SA_CTX *sactx);
  71. extern SA_RETCODE SA_EXPORT     security_exit(SA_CTX *sactx);
  72. extern SA_RETCODE SA_EXPORT        security_request(SA_CTX *sactx, SA_CONN *saconn,
  73.                                     SA_CHAR *uri, SA_INT urilen, 
  74.                                     SA_PARAMS *saparams, SA_INT *infop);
  75. extern SA_RETCODE SA_EXPORT        security_connect(SA_CTX *sactx, SA_CHAR *ipaddr,
  76.                                     SA_INT servertype);
  77. extern SA_RETCODE SA_EXPORT        security_filter(SA_CTX *sactx, SA_CONN *conn,
  78.                                     SA_CHAR *host, SA_INT hostlen,
  79.                                     SA_CHAR *url, SA_INT urllen);
  80. extern SA_RETCODE SA_PUBLIC        security_showsec(SA_CTX *sactx, SA_CONN *saconn,
  81.                                     SA_PARAMS *saparams, SA_INT *infop);
  82.  
  83. #if defined(__cplusplus)
  84. }
  85. #endif /* defined(__cplusplus) */
  86.  
  87. #endif /* __SECURITY_H__ */
  88.