home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lansystk.zip / INCLUDE / LANSERV / UPM.H < prev    next >
Text File  |  1998-05-08  |  18KB  |  500 lines

  1. /**************************************************************************
  2.  
  3.    Module Name    = UPM.H
  4.  
  5.    Descriptive Name = User Profile Management Include file
  6.  
  7.    (C) Copyright IBM Corporation 1988, 1994.  All rights reserved.
  8.    (C) Copyright Microsoft Corporation 1988, 1991.  All rights reserved.
  9.    Licensed Material - Program Property of IBM
  10.  
  11.    Function = Include File defining Api Logon/Logoff
  12.  
  13.    Operating System = OS/2
  14.  
  15. **************************************************************************/
  16.  
  17. #ifdef  PURE_32
  18. #include <os2def.h>
  19. #pragma pack(1)
  20. #define LSFAR
  21. #define LSPAS
  22. #define LSPTR
  23. #define LSINT  short
  24. #define FARPASCAL
  25. #define ANY_32_BIT
  26. #endif /* PURE_32 */
  27.  
  28. #ifdef  INCL_32
  29. #pragma pack(1)
  30. #define LSFAR
  31. #define LSPAS
  32. #define LSPTR  _Seg16
  33. #define LSINT  short
  34. #define FARPASCAL  _Far16 _Pascal
  35. #define ANY_32_BIT
  36. #endif /* INCL_32 */
  37.  
  38. #ifndef ANY_32_BIT
  39. #define LSFAR  far
  40. #define LSPAS  pascal
  41. #define LSPTR
  42. #define LSINT  int
  43. #define FARPASCAL  far pascal
  44. #endif
  45.  
  46.  
  47. #define upmelgn  UPMELGN
  48. #define upmelgff UPMELGFF
  49. #define upmelocu UPMELOCU
  50. #define upmelocl UPMELOCL
  51. #define upmeulgn UPMEULGN
  52. #define upmeulgf UPMEULGF
  53. #define upmeusrl UPMEUSRL
  54. #define upmesetp UPMESETP
  55. #define upmegetp UPMEGETP
  56. #define upmglgn  UPMGLGN
  57. #define upmgulgn UPMGULGN
  58. #define upmglgff UPMGLGFF
  59. #define upmgulgf UPMGULGF
  60. #define upmglocu UPMGLOCU
  61. #define upmglocl UPMGLOCL
  62. #define upmgusrl UPMGUSRL
  63.  
  64. /*
  65.      String lengths
  66. */
  67. #define UPM_UIDLEN    10
  68.  
  69. /*
  70. The following password length applies to user logon profile entries only.
  71. */
  72. #define UPM_PWDLEN    10
  73. #define UPM_REMLEN    17
  74.  
  75. /************************************************************/
  76. /*                                                          */
  77. /*   Function Prototypes, 16-bit and mixed-model            */
  78. /*                                                          */
  79. /************************************************************/
  80. #ifndef PURE_32
  81.  
  82. /*
  83.      Log (generic) an application process on the the system
  84. */
  85. LSINT FARPASCAL UPMGLGN(
  86.             unsigned short,          /*  userid length     */
  87.             unsigned short,          /*  password length   */
  88.             unsigned short,          /*  remotename length */
  89.             unsigned short,          /*  remotetype        */
  90.             unsigned short,          /*  authcheck         */
  91.             unsigned char LSFAR *,   /*  userid            */
  92.             unsigned char LSFAR *,   /*  password          */
  93.             unsigned char LSFAR *);  /*  remotename        */
  94.  
  95. /*
  96.      Log (generic) a user on to the system
  97. */
  98. LSINT FARPASCAL UPMGULGN(
  99.             unsigned short,          /*  userid length     */
  100.             unsigned short,          /*  password length   */
  101.             unsigned short,          /*  remotename length */
  102.             unsigned short,          /*  remotetype        */
  103.             unsigned short,          /*  flags             */
  104.             unsigned char LSFAR *,   /*  userid            */
  105.             unsigned char LSFAR *,   /*  password          */
  106.             unsigned char LSFAR *);  /*  remotename        */
  107. /*
  108.      Log (generic) an application process off the system
  109. */
  110. LSINT FARPASCAL UPMGLGFF(
  111.             unsigned short,          /*  userid length     */
  112.             unsigned short,          /*  remotename length */
  113.             unsigned short,          /*  remotetype        */
  114.             unsigned char LSFAR *,   /*  userid            */
  115.             unsigned char LSFAR *);  /*  remotename        */
  116.  
  117. /*
  118.      Log (generic) a user off the system
  119. */
  120. LSINT FARPASCAL UPMGULGF(
  121.             unsigned short,          /*  userid length     */
  122.             unsigned short,          /*  remotename length */
  123.             unsigned short,          /*  remotetype        */
  124.             unsigned char LSFAR *,   /*  userid            */
  125.             unsigned char LSFAR *);  /*  remotename        */
  126.  
  127. /*
  128.      Get (generic) locally logged on user ID.
  129. */
  130. LSINT FARPASCAL UPMGLOCU(
  131.             unsigned short *,       /*  userid length     */
  132.             unsigned char LSFAR *,  /*  userid            */
  133.             unsigned short *);      /*  user type         */
  134. /*
  135.      Logon (generic) a local user ID.
  136. */
  137. LSINT FARPASCAL UPMGLOCL(
  138.             unsigned short *,         /*  userid length     */
  139.             unsigned char LSFAR *,    /*  userid            */
  140.             unsigned short *);        /*  user type         */
  141.  
  142. /*
  143.      (generic) logon user list
  144. */
  145. LSINT FARPASCAL UPMGUSRL(
  146.             unsigned short,          /*  remotename length */
  147.             unsigned short,          /*  remotetype        */
  148.             unsigned short,          /*  bufferlen         */
  149.             unsigned short LSFAR *,  /*  entriesread */
  150.             unsigned short LSFAR *,  /*  totalentry  */
  151.             unsigned char LSFAR *,   /*  remotename  */
  152.             unsigned char LSFAR *);  /*  buffer      */
  153.  
  154. /*
  155.      Log an application process on the the system
  156. */
  157. LSINT FARPASCAL UPMELGN(
  158.             unsigned char LSFAR *,   /*  userid      */
  159.             unsigned char LSFAR *,   /*  password     */
  160.             unsigned char LSFAR *,   /*  remotename  */
  161.             unsigned short,          /*  remotetype  */
  162.             unsigned short );        /*  authcheck   */
  163.  
  164. /*
  165.      Log an application process off the system
  166. */
  167. LSINT FARPASCAL UPMELGFF(
  168.             unsigned char LSFAR *,   /*  userid      */
  169.             unsigned char LSFAR *,   /*  remotename  */
  170.             unsigned short );        /*  remotetype  */
  171. /*
  172.      Get the local user ID logged on the system
  173. */
  174. LSINT FARPASCAL UPMELOCU(
  175.             unsigned char LSFAR *,   /*  userid      */
  176.             unsigned short *);       /*  type  */
  177. /*
  178.      Logon a local user ID on the system
  179. */
  180. LSINT FARPASCAL UPMELOCL(
  181.             unsigned char LSFAR *,   /*  userid      */
  182.             unsigned short *);       /*  type  */
  183.  
  184. /*
  185.      Log a user on the system
  186. */
  187. LSINT FARPASCAL UPMEULGN(
  188.             unsigned char LSFAR *,   /*  userid      */
  189.             unsigned char LSFAR *,   /*  password    */
  190.             unsigned char LSFAR *,   /*  remotename  */
  191.             unsigned short,          /*  remotetype  */
  192.             unsigned short );        /*  flags       */
  193.  
  194. /*
  195.      Log a user off the system
  196. */
  197. LSINT FARPASCAL UPMEULGF(
  198.             unsigned char LSFAR *,   /*  userid      */
  199.             unsigned char LSFAR *,   /*  remotename  */
  200.             unsigned short );        /*  remotetype  */
  201. /*
  202.      Logged on user list
  203. */
  204. LSINT FARPASCAL UPMEUSRL(
  205.             unsigned char LSFAR *,     /*  remotename  */
  206.             short,                     /*  remotetype  */
  207.             char LSFAR *,              /*  buffer      */
  208.             unsigned short,            /*  bufferlen   */
  209.             unsigned short LSFAR *,    /*  entriesread */
  210.             unsigned short LSFAR * );  /*  totalentry  */
  211.  
  212. /*
  213.      Set a Users logon profile
  214. */
  215. LSINT FARPASCAL UPMESETP (
  216.             unsigned char LSFAR *,     /*  userid      */
  217.             char LSFAR *,              /*  buffer      */
  218.             unsigned short,            /*  entries     */
  219.             unsigned short );          /*  level       */
  220.  
  221. /*
  222.      Get a Users logon profile
  223. */
  224. LSINT FARPASCAL UPMEGETP (
  225.             unsigned char LSFAR *,     /*  userid      */
  226.             char LSFAR *,              /*  buffer      */
  227.             unsigned short,            /*  bufferlen   */
  228.             unsigned short LSFAR *,    /*  entriesread */
  229.             unsigned short LSFAR *,    /*  totalavail  */
  230.             unsigned short);           /*  level       */
  231.  
  232.  
  233. #endif /* Not PURE_32 */
  234.  
  235.  
  236. /************************************************************/
  237. /*                                                          */
  238. /*   Data structures, 16-bit, mixed-model, and PURE_32      */
  239. /*                                                          */
  240. /************************************************************/
  241.  
  242. /*
  243.      User logon structure for UPMGUSRL
  244. */
  245.  
  246. struct UPM_G_USER_LOGON
  247.        {
  248.          unsigned short useridlen;
  249.          unsigned short remotelen;
  250.          unsigned short remotetype;
  251.          LSINT          sessionid;
  252.          char           userid[UPM_UIDLEN + 1];
  253.          char           remotename[UPM_REMLEN + 1];
  254.        };
  255.  
  256. /*
  257.      User logon structure for upmeusrl
  258. */
  259.  
  260. struct UPM_USER_LOGON
  261.        {
  262.          char    userid[UPM_UIDLEN + 1];
  263.          short   remotetype;
  264.          char    remotename[UPM_REMLEN + 1];
  265.          LSINT   sessionid;
  266.        };
  267.  
  268. /*
  269.      User logon profile structure for upmegetp and upmesetp
  270. */
  271.  
  272. struct UPM_USER_LOGON_PROF_0 {
  273.           unsigned char userid[ UPM_UIDLEN + 1];
  274.           unsigned char password[ UPM_PWDLEN + 1];
  275.           unsigned char remotename[ UPM_REMLEN + 1];
  276.           unsigned short remotetype;
  277.           };
  278.  
  279.  
  280.  
  281. #ifdef PURE_32
  282.  
  283. #define u32elgn  U32ELGN
  284. #define u32elgff U32ELGFF
  285. #define u32elocu U32ELOCU
  286. #define u32elocl U32ELOCL
  287. #define u32eulgn U32EULGN
  288. #define u32eulgf U32EULGF
  289. #define u32eusrl U32EUSRL
  290. #define u32esetp U32ESETP
  291. #define u32egetp U32EGETP
  292.  
  293. /************************************************************/
  294. /*                                                          */
  295. /*   Function Prototypes, PURE_32 only                      */
  296. /*                                                          */
  297. /************************************************************/
  298.  
  299.  
  300. /*
  301.      Log an application process onto the system
  302. */
  303. LSINT APIENTRY U32ELGN(
  304.             unsigned char *,         /*  userid      */
  305.             unsigned char *,         /*  password    */
  306.             unsigned char *,         /*  remotename  */
  307.             unsigned long,           /*  remotetype  */
  308.             unsigned long );         /*  authcheck   */
  309.  
  310. /*
  311.      Log an application process off the system
  312. */
  313. LSINT APIENTRY U32ELGFF(
  314.             unsigned char *,         /*  userid      */
  315.             unsigned char *,         /*  remotename  */
  316.             unsigned long );         /*  remotetype  */
  317. /*
  318.      Get the local user ID logged on the system
  319. */
  320. LSINT APIENTRY U32ELOCU(
  321.             unsigned char *,         /*  userid      */
  322.             unsigned long *);        /*  type  */
  323. /*
  324.      Logon a local user ID on the system
  325. */
  326. LSINT APIENTRY U32ELOCL(
  327.             unsigned char *,         /*  userid      */
  328.             unsigned long *);        /*  type  */
  329.  
  330. /*
  331.      Log a user onto the system
  332. */
  333. LSINT APIENTRY U32EULGN(
  334.             unsigned char *,         /*  userid      */
  335.             unsigned char *,         /*  password    */
  336.             unsigned char *,         /*  remotename  */
  337.             unsigned long,           /*  remotetype  */
  338.             unsigned long );         /*  flags       */
  339.  
  340. /*
  341.      Log a user off the system
  342. */
  343. LSINT APIENTRY U32EULGF(
  344.             unsigned char *,         /*  userid      */
  345.             unsigned char *,         /*  remotename  */
  346.             unsigned long );         /*  remotetype  */
  347. /*
  348.      Logged on user list
  349. */
  350.  
  351. LSINT APIENTRY U32EUSRL(
  352.             unsigned char *,           /*  remotename  */
  353.             unsigned long,             /*  remotetype  */
  354.             unsigned char *,           /*  buffer      */
  355.             unsigned long,             /*  bufferlen   */
  356.             unsigned long *,           /*  entriesread */
  357.             unsigned long * );         /*  totalentry  */
  358.  
  359. /*
  360.      Set a Users logon profile
  361. */
  362.  
  363. LSINT APIENTRY U32ESETP (
  364.             unsigned char *,           /*  userid      */
  365.             unsigned char *,           /*  buffer      */
  366.             unsigned long,             /*  entries     */
  367.             unsigned long );           /*  level       */
  368.  
  369. /*
  370.      Get a Users logon profile
  371. */
  372.  
  373. LSINT APIENTRY U32EGETP (
  374.             unsigned char *,           /*  userid      */
  375.             unsigned char *,           /*  buffer      */
  376.             unsigned long,             /*  bufferlen   */
  377.             unsigned long *,           /*  entriesread */
  378.             unsigned long *,           /*  totalavail  */
  379.             unsigned long);            /*  level       */
  380.  
  381. #endif /* PURE_32 */
  382.  
  383.  
  384. /************************************************************/
  385. /*                                                          */
  386. /*   More manifest constants                                */
  387. /*                                                          */
  388. /************************************************************/
  389.  
  390. /*
  391.      Valid values for the remotetype parameter
  392. */
  393. #define UPM_LOCAL            1
  394. #define UPM_DNODE            2
  395. #define UPM_DOMAIN           3
  396. /*
  397.      Additional remotetype value for upmeulgf
  398. */
  399. #define UPM_DOMAIN_MAX_FORCE 4
  400.  
  401. /*
  402.      Verbose upmeulgn (1.3.x style)
  403. */
  404. #define UPM_DOMAIN_VERBOSE   5
  405.  
  406. /*
  407.      Additional remotetype values for upmeusrl
  408. */
  409. #define UPM_LOCAL_HPFS     21
  410. #define UPM_ALL            22
  411.  
  412. /*
  413.      Lan Server logon flags for UPMEULGN.
  414.      If UPM_FL_LOCVER or UPM_FL_NOVER is specified remotename must null.
  415. */
  416.  
  417. #define UPM_FL_LOCVER               0x01   /* Local verification  */
  418. #define UPM_FL_NOVER                0x02   /* No verification     */
  419. #define UPM_FL_DOMVER               0x03   /* Domain verification */
  420.  
  421. /*
  422.      Valid values for the authcheck parameter
  423. */
  424. #define UPM_CONFIG         1
  425. #define UPM_ADMIN          2
  426. #define UPM_USER           3
  427.  
  428. /*
  429.      Valid user type privilege levels
  430. */
  431. #define UPM_PRIV_USER         1
  432. #define UPM_PRIV_ADMIN        2
  433. #define UPM_PRIV_LOCAL_ADMIN  9
  434. /*
  435.      Return values
  436.  
  437.      Note:  These values are all negative.  Any positive return
  438.            value signifies an unexpected OS/2 system level error
  439.            occurred.  The positive value is the OS/2 return code.
  440. */
  441. #define UPM_OK                 0      /* Successful.                         */
  442. #define UPM_LOG_INPROC         0xFB01 /* Another logon is in process.        */
  443. #define UPM_BAD_TYPE           0xFB02 /* Bad remotetype.                     */
  444. #define UPM_NOMEM              0xFB03 /* Cannot allocate required memory.    */
  445. #define UPM_LOG_FILE_NOT_FOUND 0xFB04 /* An execute file could not be found. */
  446. #define UPM_FAIL_SECURITY      0xFB05 /* User not logged, failed security
  447.                                          clearance.                          */
  448. #define UPM_BAD_PARAMETER      0xFB06 /* A parameter passed was invalid.     */
  449. #define UPM_BAD_AUTHCHECK      0xFB07 /* Authcheck was not valid.            */
  450. #define UPM_LOG_CANCEL         0xFB08 /* User has canceled from the logon
  451.                                          panel.                              */
  452. #define UPM_NOT_LOGGED         0xFB10 /* A logon has not occured for this
  453.                                          userid.                             */
  454. #define UPM_LOGGED             0xFB12 /* A domain logon is currently active. */
  455. #define UPM_SYS_ERROR          0xFB13 /* An unexpected system error.         */
  456. #define UPM_OPEN_SESSIONS      0xFB14 /* The domain logoff failed, The domain
  457.                                          logon has active sessions.          */
  458. #define UPM_ULP_LOADED         0xFB15 /* The local logon failed, a local
  459.                                          logon with a user logon profile is
  460.                                          active.                             */
  461. #define UPM_LOGGED_ELSEWHERE   0xFB16 /* The domain logon failed, the userid
  462.                                          is already logged on the domain.    */
  463. #define UPM_PASSWORD_EXP       0xFB17 /* The users password is expired.      */
  464. #define UPM_UNAVAIL            0xFB18 /* The logon failed, The remote node
  465.                                          or server could not be contacted to
  466.                                          process the logon request.          */
  467. #define UPM_ACTIVE             0xFB19 /* The domain logon or logoff failed,
  468.                                          a domain logon, logoff or net
  469.                                          command is in process.              */
  470. #define UPM_SS_PWDEXPWARNING   0xFB20 /* The local logon succeeded. The users
  471.                                          password is expired.                */
  472. #define UPM_SS_BUSY            0xFB21 /* The local logon failed. The Local
  473.                                          security was busy.                     */
  474. #define UPM_SS_DEAD            0xFB22 /* The local logon failed. Local
  475.                                          security has terminated unexpectedly.  */
  476. #define UPM_ERROR_MORE_DATA    0xFB23 /* More data is available, the buffer
  477.                                          provided is not large enough.       */
  478. #define UPM_MAX_ENT_EXCEEDED   0xFB24 /* Update failed, the input buffer
  479.                                          contains more than 16 entries.      */
  480. #define UPM_DUP_ULP_ENTRY      0xFB25 /* Two or more entries with the same
  481.                                          remote name and user ID were
  482.                                          detected.                           */
  483. #define UPM_MAX_ULP_EXCEEDED   0xFB26 /* Database contains maximum number
  484.                                          entries                             */
  485. #define UPM_NODISK             0xFB27 /* Insufficient disk space was available to
  486.                                          process this request   */
  487. #define UPM_PROF_NOT_FOUND     0xFB28 /* Did not find user logon profile for
  488.                                          user ID. */
  489. #define UPM_ERROR_NONVAL_LOGON 0xFB29 /* Non validated Lan Server logons are not
  490.                                          allowed with server service started  */
  491.  
  492.  
  493.  
  494.  
  495.  
  496. #ifdef  ANY_32_BIT
  497. #pragma pack()
  498. #endif
  499.  
  500.