home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 January / PCWorld_2001-01_cd.bin / Software / Topware / sambar / _SETUP.1 / login.h < prev    next >
C/C++ Source or Header  |  2000-09-28  |  4KB  |  129 lines

  1. /*
  2. ** LOGIN.H
  3. **
  4. **      This header file contains the public HTTP interfaces used by the
  5. **        Sambar Server for interfacing with User Login/Logout/Profile
  6. **        Management.
  7. **
  8. **        Confidential Property of Tod Sambar
  9. **        (c) Copyright Tod Sambar 1996-1997
  10. **        All rights reserved.
  11. **
  12. **
  13. ** History:
  14. ** Chg#    Date    Description                                                Resp
  15. ** ----    -------    -------------------------------------------------------    ----
  16. **        27JAN97    Created                                                    sambar
  17. **        25MAR97    Added FTP support                                        sambar
  18. */
  19.  
  20. #if     !defined(__LOGIN_H__)
  21. #define __LOGIN_H__
  22.  
  23. #include    <sambar.h>
  24.  
  25. #ifndef    WIN32
  26. #define    stricmp    strcasecmp
  27. #endif    /* WIN32 */
  28.  
  29. /*
  30. ** Login/Logout/Profile Management Defines
  31. */
  32. #define LOGIN_PROFILE_KEY        "Profile"
  33.  
  34. /*
  35. ** User Profile Structure
  36. */
  37. typedef struct    login__profile
  38. {
  39.     SA_INT        privs;
  40.     SA_PROFILE    *data;
  41.     SA_CHAR        dir[SA_MAX_NAME + 1];
  42.     SA_CHAR        name[SA_MAX_NAME + 1];
  43.     SA_CHAR        group[SA_MAX_NAME + 1];
  44.     SA_CHAR        username[SA_MAX_NAME + 1];
  45.  
  46. } LOGIN_PROFILE;
  47.  
  48.  
  49. /*
  50. ** Sambar Server/User Login/Logout/Profile DLL Function Prototypes
  51. */
  52. #if defined(__cplusplus)
  53. extern "C" {
  54. #endif /* defined(__cplusplus) */
  55.  
  56. extern SA_RETCODE SA_EXPORT        login_init(SA_CTX *sactx);
  57.  
  58. extern SA_RETCODE SA_EXPORT        user_login(SA_CTX *sactx, SA_CONN *saconn,
  59.                                     SA_CHAR *username, SA_INT usernamelen,
  60.                                     SA_CHAR *password, SA_INT passwordlen,
  61.                                     SA_INT *infop);
  62.  
  63. extern SA_RETCODE SA_EXPORT        user_logout(SA_CTX *sactx, SA_CONN *saconn);
  64.  
  65. extern SA_RETCODE SA_EXPORT        user_profile(SA_CTX *sactx, SA_CONN *saconn,
  66.                                     SA_INT action, SA_CHAR *name, 
  67.                                     SA_INT namelen, SA_VOID *datap);
  68.  
  69. /*
  70. ** User Management
  71. */
  72. extern SA_RETCODE SA_PUBLIC        user_add(SA_CTX *sactx, SA_CONN *saconn,
  73.                                     SA_PARAMS *saparams, SA_INT *infop);
  74. extern SA_RETCODE SA_PUBLIC        user_delete(SA_CTX *sactx, SA_CONN *saconn,
  75.                                     SA_PARAMS *saparams, SA_INT *infop);
  76. extern SA_RETCODE SA_PUBLIC        user_update(SA_CTX *sactx, SA_CONN *saconn,
  77.                                     SA_PARAMS *saparams, SA_INT *infop);
  78. extern SA_RETCODE SA_PUBLIC        user_list(SA_CTX *sactx, SA_CONN *saconn,
  79.                                     SA_PARAMS *saparams, SA_INT *infop);
  80. extern SA_RETCODE SA_PUBLIC        user_select(SA_CTX *sactx, SA_CONN *saconn,
  81.                                     SA_PARAMS *saparams, SA_INT *infop);
  82. extern SA_RETCODE SA_PUBLIC        user_prop(SA_CTX *sactx, SA_CONN *saconn,
  83.                                     SA_PARAMS *saparams, SA_INT *infop);
  84. extern SA_RETCODE SA_PUBLIC        user_passwd(SA_CTX *sactx, SA_CONN *saconn,
  85.                                     SA_PARAMS *saparams, SA_INT *infop);
  86. extern SA_RETCODE SA_PUBLIC        user_maillist(SA_CTX *sactx, SA_CONN *saconn,
  87.                                     SA_PARAMS *saparams, SA_INT *infop);
  88. extern SA_RETCODE SA_PUBLIC        user_mailbox(SA_CTX *sactx, SA_CONN *saconn,
  89.                                     SA_PARAMS *saparams, SA_INT *infop);
  90.  
  91. /*
  92. ** Group Management
  93. */
  94. extern SA_RETCODE SA_PUBLIC        group_add(SA_CTX *sactx, SA_CONN *saconn,
  95.                                     SA_PARAMS *saparams, SA_INT *infop);
  96. extern SA_RETCODE SA_PUBLIC        group_delete(SA_CTX *sactx, SA_CONN *saconn,
  97.                                     SA_PARAMS *saparams, SA_INT *infop);
  98. extern SA_RETCODE SA_PUBLIC        group_list(SA_CTX *sactx, SA_CONN *saconn,
  99.                                     SA_PARAMS *saparams, SA_INT *infop);
  100. extern SA_RETCODE SA_PUBLIC        group_select(SA_CTX *sactx, SA_CONN *saconn,
  101.                                     SA_PARAMS *saparams, SA_INT *infop);
  102.  
  103. /*
  104. ** FTP Connect
  105. */
  106. extern SA_RETCODE SA_EXPORT        ftp_connect(SA_CTX *sactx, SA_CHAR *user,
  107.                                     SA_INT userlen, SA_CHAR *passwd, 
  108.                                     SA_INT passwdlen, SA_FTP *ftpresp);
  109.  
  110. /*
  111. ** MAIL Connect
  112. */
  113. extern SA_RETCODE SA_EXPORT        mail_connect(SA_CTX *sactx, SA_CHAR *user,
  114.                                     SA_INT userlen, SA_CHAR *passwd, 
  115.                                     SA_INT passwdlen);
  116.  
  117. /*
  118. ** Telnet Connect
  119. */
  120. extern SA_RETCODE SA_EXPORT        telnet_connect(SA_CTX *sactx, SA_CHAR *user,
  121.                                     SA_INT userlen, SA_CHAR *passwd, 
  122.                                     SA_INT passwdlen);
  123.  
  124. #if defined(__cplusplus)
  125. }
  126. #endif /* defined(__cplusplus) */
  127.  
  128. #endif /* __LOGIN_H__ */
  129.