home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / MISC / PBAPI10.ZIP / APIDOCS.ZIP / USERSDAT.DOC < prev    next >
Text File  |  1998-02-21  |  28KB  |  730 lines

  1. Author....... : Gary Price
  2. Copyrighted by: Freejack's Software 1997-98
  3.  
  4. USERS_DAT API for TriBBS v10.x/11.x written in PowerBasic v3.5
  5. ---------------------------------------------------------------------------
  6.  
  7. The USERS_DAT unit is used to manipulate data in the USERS.DAT data file
  8. found in node 1's MWORK directory. The USERS_DAT unit is declared in
  9. PBAPI10.INC as follows:
  10.  
  11.  Users.dat BitFields Breadown
  12.  
  13.  UserDatBit.bit1 BIT Assignment
  14.     0 = LockedOutFlag                            0 = No, 1 = Yes
  15.     1 = MarkedForDeletionFlag                    0 = No, 1 = Yes
  16.     2 = IncludeLOGON1InQWKFlag                   0 = No, 1 = Yes
  17.     3 = IncludeGOODBYEInQWKFlag                  0 = No, 1 = Yes
  18.     4 = IncludeBulletinsInQWKFlag                0 = No, 1 = Yes
  19.     5 = IncludeNewFilesInQWKFlag                 0 = No, 1 = Yes
  20.     6 = IncludeNewsletterInQWKFlag               0 = No, 1 = Yes
  21.     7 = CheckWaitingMessagesFlag                 0 = Yes, 1 = No
  22.  
  23.  UserDatBit.bit2 BIT Assignment
  24.     0 = GoodbyeAfterUploadFlag                   0 = No, 1 = Yes
  25.     1 = AttachedFilesInQWKFlag                   0 = No, 1 = Yes
  26.     2 to 7 = 0 (Reserved)
  27.  
  28.  UserDatBit.bit3 to UserDatBit.bit10 - All bits are set to 0  (Reserved)
  29.  
  30.  Sub Type Structure for 10 byte BitFields
  31. TYPE UserDatBit
  32.   bit1  AS BYTE
  33.   bit2  AS BYTE
  34.   bit3  AS BYTE
  35.   bit4  AS BYTE
  36.   bit5  AS BYTE
  37.   bit6  AS BYTE
  38.   bit7  AS BYTE
  39.   bit8  AS BYTE
  40.   bit9  AS BYTE
  41.   bit10 AS BYTE
  42. END TYPE
  43.  
  44. ---------------------------------------------------------------------------
  45.  
  46.  NetworkBit.bit1 & NetworkBit.bit2 BIT Assignments:
  47.  TriBBS allows a sysop to add up to 16 different Networks.
  48.  Depending on the bit position 0 or 1, means that a certain Message
  49.  Conference belongs to a certain network.
  50.  
  51.  NetworkBit.bit1 BIT Assignment:
  52.     0 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  53.     1 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  54.     2 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  55.     3 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  56.     4 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  57.     5 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  58.     6 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  59.     7 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  60.  NetworkBit.bit2 BIT Assignment:
  61.     0 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  62.     1 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  63.     2 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  64.     3 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  65.     4 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  66.     5 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  67.     6 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  68.     7 = Points to network name defined in Network.dat  0 = No, 1 = Yes
  69.  
  70.  Sub Type Structure for Network Flag BitFields
  71. TYPE NetworkBit
  72.   bit1  AS BYTE
  73.   bit2  AS BYTE
  74. END TYPE
  75.  
  76. ---------------------------------------------------------------------------
  77.  
  78.  File Name: "USERS.DAT"
  79. TYPE USERSDAT
  80.   UserName                     AS STRING * 61
  81.   Alias                        AS STRING * 61
  82.   Password                     AS STRING * 16
  83.   StreetAddress1               AS STRING * 41
  84.   StreetAddress2               AS STRING * 41
  85.   City                         AS STRING * 31
  86.   State                        AS STRING * 31
  87.   Country                      AS STRING * 31
  88.   ZipCode                      AS STRING * 11
  89.   PhoneNumber                  AS STRING * 31
  90.   Birthday                     AS STRING * 9
  91.   DateOfFirstCall              AS STRING * 9
  92.   DateOfLastFileCheck          AS STRING * 9
  93.   SubscriptionExpirationDate   AS STRING * 9
  94.   DateAndTimeOfLastCall        AS STRING * 15
  95.   ExpertMode                   AS INTEGER   
  96.   SecurityLevel                AS INTEGER
  97.   NumberOfCalls                AS INTEGER
  98.   TimeLeftForToday             AS INTEGER
  99.   LastMessageConference        AS INTEGER
  100.   LastFileArea                 AS INTEGER
  101.   DefaultProtocol              AS INTEGER
  102.   NumberOfCallsToday           AS INTEGER
  103.   QWKNetworkNode               AS INTEGER
  104.   DefaultEditor                AS INTEGER
  105.   InitialChatStatus            AS INTEGER
  106.   NumberOfFilesDownloadedToday AS INTEGER
  107.   ArchiveUsedInQWK             AS INTEGER
  108.   NumberOfFilesUploaded        AS LONG
  109.   NumberOfFilesDownloaded      AS LONG
  110.   NumberOfKBytesUploaded       AS LONG
  111.   NumberOfKBytesDownloaded     AS LONG
  112.   NumberOfMessagesPosted       AS LONG
  113.   NumberOfBytesDownloadedToday AS LONG
  114.   NetworkBitFields             AS NetworkBit
  115.   UserDatBitFields             AS UserDatBit
  116.   ReservedDataArea             AS STRING * 556
  117. END TYPE
  118.  
  119. DIM UserDatBit AS UserDatBit
  120. DIM USERSDAT   AS SHARED USERSDAT
  121. DIM ud         AS SHARED USERSDAT PTR
  122.  
  123. ud = VARPTR32(USERSDAT)
  124. LSET USERSDAT = USERSDAT
  125. ---------------------------------------------------------------------------
  126.  
  127. FUNCTION's below are from the USERSDAT.PBU Unit and DECLAREd in PBAPI10.INC.
  128.  
  129. FUNCTION USERS_DAT_OPEN()
  130. FUNCTION USERS_DAT_CLOSE()
  131. FUNCTION USERS_DAT_READ(n AS WORD)
  132. FUNCTION USERS_DAT_WRITE(n AS WORD)
  133. FUNCTION USERS_DAT_Length() AS LONG
  134. FUNCTION USERS_DAT_OpenRead(n AS WORD)
  135. FUNCTION USERS_DAT_WriteClose(n AS WORD)
  136. FUNCTION USERS_DAT_OpenReadClose(n AS WORD)
  137. FUNCTION USERS_DAT_OpenWriteClose(n AS WORD)
  138. FUNCTION USERS_DAT_Clearit(n AS WORD)
  139.  
  140. FUNCTION USERS_DAT_GetUN() AS STRING
  141. FUNCTION USERS_DAT_PutUN(s AS STRING)
  142. FUNCTION USERS_DAT_GetAN() AS STRING
  143. FUNCTION USERS_DAT_PutAN(s AS STRING)
  144. FUNCTION USERS_DAT_GetUP() AS STRING
  145. FUNCTION USERS_DAT_PutUP(s AS STRING)
  146. FUNCTION USERS_DAT_GetSA1() AS STRING
  147. FUNCTION USERS_DAT_PutSA1(s AS STRING)
  148. FUNCTION USERS_DAT_GetSA2() AS STRING
  149. FUNCTION USERS_DAT_PutSA2(s AS STRING)
  150. FUNCTION USERS_DAT_GetCity() AS STRING
  151. FUNCTION USERS_DAT_PutCity(s AS STRING)
  152. FUNCTION USERS_DAT_GetUS() AS STRING
  153. FUNCTION USERS_DAT_PutUS(s AS STRING)
  154. FUNCTION USERS_DAT_GetUC() AS STRING
  155. FUNCTION USERS_DAT_PutUC(s AS STRING)
  156. FUNCTION USERS_DAT_GetUZ() AS STRING
  157. FUNCTION USERS_DAT_PutUZ(s AS STRING)
  158. FUNCTION USERS_DAT_GetUPN() AS STRING
  159. FUNCTION USERS_DAT_PutUPN(s AS STRING)
  160. FUNCTION USERS_DAT_GetUBD() AS STRING
  161. FUNCTION USERS_DAT_PutUBD(s AS STRING)
  162. FUNCTION USERS_DAT_GetDOFC() AS STRING
  163. FUNCTION USERS_DAT_PutDOFC(s AS STRING)
  164. FUNCTION USERS_DAT_GetDOLFC() AS STRING
  165. FUNCTION USERS_DAT_PutDOLFC(s AS STRING)
  166. FUNCTION USERS_DAT_GetSED() AS STRING
  167. FUNCTION USERS_DAT_PutSED(s AS STRING)
  168. FUNCTION USERS_DAT_GetDATOLC() AS STRING
  169. FUNCTION USERS_DAT_PutDATOLC(s AS STRING)
  170.  
  171. FUNCTION USERS_DAT_PutEM(n AS INTEGER)
  172. FUNCTION USERS_DAT_GetEM() AS INTEGER
  173. FUNCTION USERS_DAT_PutSL(n AS INTEGER)
  174. FUNCTION USERS_DAT_GetSL() AS INTEGER
  175. FUNCTION USERS_DAT_PutNOC(n AS INTEGER)
  176. FUNCTION USERS_DAT_GetNOC() AS INTEGER
  177. FUNCTION USERS_DAT_PutTLFT(n AS INTEGER)
  178. FUNCTION USERS_DAT_GetTLFT() AS INTEGER
  179. FUNCTION USERS_DAT_PutLMC(n AS INTEGER)
  180. FUNCTION USERS_DAT_GetLMC() AS INTEGER
  181. FUNCTION USERS_DAT_PutLFA(n AS INTEGER)
  182. FUNCTION USERS_DAT_GetLFA() AS INTEGER
  183. FUNCTION USERS_DAT_PutDP(n AS INTEGER)
  184. FUNCTION USERS_DAT_GetDP() AS INTEGER
  185. FUNCTION USERS_DAT_PutNOCT(n AS INTEGER)
  186. FUNCTION USERS_DAT_GetNOCT() AS INTEGER
  187. FUNCTION USERS_DAT_PutDE(n AS INTEGER)
  188. FUNCTION USERS_DAT_GetDE() AS INTEGER
  189. FUNCTION USERS_DAT_PutICS(n AS INTEGER)
  190. FUNCTION USERS_DAT_GetICS() AS INTEGER
  191. FUNCTION USERS_DAT_PutNOFDT(n AS INTEGER)
  192. FUNCTION USERS_DAT_GetNOFDT() AS INTEGER
  193. FUNCTION USERS_DAT_PutAUIQ(n AS INTEGER)
  194. FUNCTION USERS_DAT_GetAUIQ() AS INTEGER
  195.  
  196. FUNCTION USERS_DAT_GetNOFU() AS LONG
  197. FUNCTION USERS_DAT_PutNOFU(n AS LONG)
  198. FUNCTION USERS_DAT_GetNOFD() AS LONG
  199. FUNCTION USERS_DAT_PutNOFD(n AS LONG)
  200. FUNCTION USERS_DAT_GetNOKBU() AS LONG
  201. FUNCTION USERS_DAT_PutNOKBU(n AS LONG)
  202. FUNCTION USERS_DAT_GetNOKBD() AS LONG
  203. FUNCTION USERS_DAT_PutNOKBD(n AS LONG)
  204. FUNCTION USERS_DAT_GetNOMP() AS LONG
  205. FUNCTION USERS_DAT_PutNOMP(n AS LONG)
  206. FUNCTION USERS_DAT_GetNOBDT() AS LONG
  207. FUNCTION USERS_DAT_PutNOBDT(n AS LONG)
  208.  
  209. FUNCTION USERS_DAT_GetNWN() AS STRING
  210. FUNCTION USERS_DAT_GetNWF(nw AS INTEGER) AS INTEGER
  211. FUNCTION USERS_DAT_PutNWF(nw AS INTEGER, n AS INTEGER)
  212.  
  213. FUNCTION USERS_DAT_GetLOF() AS INTEGER
  214. FUNCTION USERS_DAT_PutLOF(n AS INTEGER)
  215. FUNCTION USERS_DAT_GetMFDF() AS INTEGER
  216. FUNCTION USERS_DAT_PutMFDF(n AS INTEGER)
  217. FUNCTION USERS_DAT_GetILIQF() AS INTEGER
  218. FUNCTION USERS_DAT_PutILIQF(n AS INTEGER)
  219. FUNCTION USERS_DAT_GetIGIQF() AS INTEGER
  220. FUNCTION USERS_DAT_PutIGIQF(n AS INTEGER)
  221. FUNCTION USERS_DAT_GetIBIQF() AS INTEGER
  222. FUNCTION USERS_DAT_PutIBIQF(n AS INTEGER)
  223. FUNCTION USERS_DAT_GetINFIQF() AS INTEGER
  224. FUNCTION USERS_DAT_PutINFIQF(n AS INTEGER)
  225. FUNCTION USERS_DAT_GetINLIQF() AS INTEGER
  226. FUNCTION USERS_DAT_PutINLIQF(n AS INTEGER)
  227. FUNCTION USERS_DAT_GetCWMF() AS INTEGER
  228. FUNCTION USERS_DAT_PutCWMF(n AS INTEGER)
  229. FUNCTION USERS_DAT_GetGAUF() AS INTEGER
  230. FUNCTION USERS_DAT_PutGAUF(n AS INTEGER)
  231. FUNCTION USERS_DAT_GetAFIQF() AS INTEGER
  232. FUNCTION USERS_DAT_PutAFIQF(n AS INTEGER)
  233.  
  234. ---------------------------------------------------------------------------
  235.  MPORTANT: TBNode1sMainDirectory must be set to node 1's main directory
  236.  before calling any function with the "Open" word.
  237.  
  238. USERS_DAT_Open()
  239.  The USERS_DAT_Open function opens the USERS.DAT file in node 1's MWORK
  240.  directory. 
  241.  
  242. USERS_DAT_Close()
  243.  The USERS_DAT_Close function closes the USERS.DAT file in node 1's MWORK
  244.  directory.
  245.  
  246. USERS_DAT_Read(n AS WORD)
  247.  The USERS_DAT_Read function reads the record for user "n" into memory.
  248.  
  249. USERS_DAT_Write(n AS WORD)
  250.  The USERS_DAT_Write function updates the record for user "n" from memory.
  251.  
  252. USERS_DAT_Length() AS LONG
  253.  The USERS_DAT_Length function returns the number of records in the USERS.DAT
  254.  file.
  255.  
  256. USERS_DAT_OpenRead(n AS WORD)
  257.  The USERS_DAT_OpenRead function provides the functionality of the
  258.  USERS_DAT_Open and USERS_DAT_Read functions in a single function call.
  259.  
  260. USERS_DAT_WriteClose(n AS WORD)
  261.  The USERS_DAT_WriteClose function provides the functionality of the
  262.  USERS_DAT_Write and USERS_DAT_Close functions in a single function call.
  263.  
  264. USERS_DAT_OpenReadClose(n AS WORD)
  265.  The USERS_DAT_OpenReadClose function provides the functionality of the
  266.  USERS_DAT_Open, USERS_DAT_Read, and USERS_DAT_Close functions in a single
  267.  function call.
  268.  
  269. USERS_DAT_OpenWriteClose(n AS WORD)
  270.  The USERS_DAT_OpenWriteClose function provides the functionality of the
  271.  USERS_DAT_Open, USERS_DAT_Write, and USERS_DAT_Close functions in a single
  272.  function call.
  273.  
  274. USERS_DAT_ClearIt(n AS WORD)
  275.  The USERS_DAT_ClearIt function sets the entire USERS_DAT data record for 'n'
  276.  to all zeros, leaving the data record in place, but empty.
  277.  
  278. -----------------------------------------------------------------------------
  279. POINTERS Uses a hidden variable I use called "@ud". Any reference to this is
  280. only for your information for discussion in this doc file. You will not need
  281. to concern yourself trying to use this.. All calls are handled in the main
  282. USERSDAT.PBU Unit by my routines automatically. In other words, I am trying
  283. to keep Pointers as easy as possible for your use. :)
  284.  
  285. Also, all calls to any Functions which gets data with the string routines
  286. will auto-trim each string's extra spaces and the null terminator, CHR$(0),
  287. off so printing will be easier for you to manipulate. When calling the string
  288. routines to put data back into the string space, all string data will be
  289. resized to fit the USERS.DAT type structure and will add the null terminator
  290. back to the end of the string. Just remember, when working the data in memory
  291. with the pointer calls, you still have to write the data back to the USERS.DAT
  292. in order for the changes to become permanent.
  293.  
  294. -----------------------------------------------------------------------------
  295. USERS_DAT_GetUN() AS STRING
  296.  This form of the USERS_DAT_GetUN function returns a pointer to the user's
  297.  name string.
  298.  
  299. USERS_DAT_PutUN(s AS STRING)
  300.  This form of the USERS_DAT_PutUN function sets the user's name string to the
  301.  string pointed to by "s". Note that the string pointed to by "s" can be no
  302.  more than 60 characters in length.
  303.  
  304. USERS_DAT_GetAN() AS STRING
  305.  This form of the USERS_DAT_GetAN function returns a pointer to the user's
  306.  alias string.
  307.  
  308. USERS_DAT_PutAN(s AS STRING)
  309.  This form of the USERS_DAT_PutAN function sets the user's alias string to
  310.  the string pointed to by "s". Note that the string pointed to by "s" can be
  311.  no more than 60 characters in length.
  312.  
  313. USERS_DAT_GetUP() AS STRING
  314.  This form of the USERS_DAT_GetUP function returns a pointer to the user's
  315.  password string.
  316.  
  317. USERS_DAT_PutUP(s AS STRING)
  318.  This form of the USERS_DAT_PutUP function sets the user's password string to
  319.  the string pointed to by "s". Note that the string pointed to by "s" can be
  320.  no more than 15 characters in length.
  321.  
  322. USERS_DAT_GetSA1() AS STRING
  323.  This form of the USERS_DAT_GetSA1 function returns a pointer to the user's
  324.  street address line 1 string.
  325.  
  326. USERS_DAT_PutSA1(s AS STRING)
  327.  This form of the USERS_DAT_PutSA1 function sets the user's street address
  328.  line 1 string to the string pointed to by "s". Note that the string pointed
  329.  to by "s" can be no more than 40 characters in length.
  330.  
  331. USERS_DAT_GetSA2() AS STRING
  332.  This form of the USERS_DAT_GetSA2 function returns a pointer to the user's
  333.  street address line 2 string.
  334.  
  335. USERS_DAT_PutSA2(s AS STRING)
  336.  This form of the USERS_DAT_PutSA2 function sets the user's street address
  337.  line 2 string to the string pointed to by "s". Note that the string pointed
  338.  to by "s" can be no more than 40 characters in length.
  339.  
  340. USERS_DAT_GetCity() AS STRING
  341.  This form of the USERS_DAT_GetCity function returns a pointer to the user's
  342.  city string.
  343.  
  344. USERS_DAT_PutCity(s AS STRING)
  345.  This form of the USERS_DAT_PutCity function sets the user's city string to
  346.  the string pointed to by "s". Note that the string pointed to by "s" can be
  347.  no more than 30 characters in length.
  348.  
  349. USERS_DAT_GetUS() AS STRING
  350.  This form of the USERS_DAT_GetUS function returns a pointer to the user's
  351.  state string.
  352.  
  353. USERS_DAT_PutUS(s AS STRING)
  354.  This form of the USERS_DAT_PutUS function sets the user's state string to
  355.  the string pointed to by "s". Note that the string pointed to by "s" can be
  356.  no more than 30 characters in length.
  357.  
  358. USERS_DAT_GetUC() AS STRING
  359.  This form of the USERS_DAT_GetUC function returns a pointer to the user's
  360.  country string.
  361.  
  362. USERS_DAT_PutUC(s AS STRING)
  363.  This form of the USERS_DAT_PutUC function sets the user's country string to
  364.  the string pointed to by "s". Note that the string pointed to by "s" can be
  365.  no more than 30 characters in length.
  366.  
  367. USERS_DAT_GetUZ() AS STRING
  368.  This form of the USERS_DAT_GetUZ function returns a pointer to the user's
  369.  zip code string.
  370.  
  371. USERS_DAT_PutUZ(s AS STRING)
  372.  This form of the USERS_DAT_PutUZ function sets the user's zip code string to
  373.  the string pointed to by "s". Note that the string pointed to by "s" can be
  374.  no more than 10 characters in length.
  375.  
  376. USERS_DAT_GetUPN() AS STRING
  377.  This form of the USERS_DAT_GetUPN function returns a pointer to the user's
  378.  phone number string.
  379.  
  380. USERS_DAT_PutUPN(s AS STRING)
  381.  This form of the USERS_DAT_PutUPN function sets the user's phone number
  382.  string to the string pointed to by "s". Note that the string pointed to by
  383.  "s" can be no more than 30 characters in length. The format for the phone
  384.  number string is determined by the appropriate setting in SYSDAT1.DAT.
  385.  
  386. USERS_DAT_GetUBD() AS STRING
  387.  This form of the USERS_DAT_GetUBD function returns a pointer to the user's
  388.  birthday string.
  389.  
  390. USERS_DAT_PutUBD(s AS STRING)
  391.  This form of the USERS_DAT_PutUBD function sets the user's birthday string to
  392.  the string pointed to by "s". Note that the string pointed to by "s" can be
  393.  no more than 8 characters in length and uses the format "MM/DD/YY".
  394.  
  395. USERS_DAT_GetDOFC() AS STRING
  396.  This form of the USERS_DAT_GetDOFC function returns a pointer to the user's
  397.  date of first call string.
  398.  
  399. USERS_DAT_PutDOFC(s AS STRING)
  400.  This form of the USERS_DAT_PutDOFC function sets the user's date of first
  401.  call string to the string pointed to by "s". Note that the string pointed to
  402.  by "s" can be no more than 8 characters in length and uses the format
  403.  "MM/DD/YY".
  404.  
  405. USERS_DAT_GetDOLFC() AS STRING
  406.  This form of the USERS_DAT_GetDOLFC function returns a pointer to the user's
  407.  date of last file check string.
  408.  
  409. USERS_DAT_PutDOLFC(s AS STRING)
  410.  This form of the USERS_DAT_PutDOLFC function sets the user's date of last
  411.  file check string to the string pointed to by "s". Note that the string
  412.  pointed to by "s" can be no more than 8 characters in length and uses the
  413.  format "MM/DD/YY".
  414.  
  415. USERS_DAT_GetSED() AS STRING
  416.  This form of the USERS_DAT_GetSED function returns a pointer to the user's
  417.  subscription expiration date string.
  418.  
  419. USERS_DAT_PutSED(s AS STRING)
  420.  This form of the USERS_DAT_PutSED function sets the user's subscription
  421.  expiration date string to the string pointed to by "s". Note that the string
  422.  pointed to by "s" can be no more than 8 characters in length and uses the
  423.  form at "MM/DD/YY".
  424.  
  425. USERS_DAT_GetDATOLC() AS STRING
  426.  This form of the USERS_DAT_GetDATOLC function returns a pointer to the user's
  427.  date and time of last call string.
  428.  
  429. USERS_DAT_PutDATOLC(s AS STRING)
  430.  This form of the USERS_DAT_PutDATOLC function sets the user's date and time
  431.  of last call string to the string pointed to by "s". Note that the string
  432.  pointed to by "s" can be no more than 14 characters in length and uses the
  433.  format "MM/DD/YY HH:MM".
  434.  
  435. USERS_DAT_GetEM() AS INTEGER
  436.  This form of the USERS_DAT_GetEM function returns the user's expert mode
  437.  setting.
  438.  
  439. USERS_DAT_PutEM(n AS INTEGER)
  440.  This form of the USERS_DAT_PutEM function sets the user's expert mode setting
  441.  to "n". "n" must be in the range of 0 to 2 as follows:
  442.  
  443.     0 = Novice mode.
  444.     1 = Expert mode.
  445.     2 = Super expert mode.
  446.  
  447. USERS_DAT_GetSL() AS INTEGER
  448.  This form of the USERS_DAT_GetSL function returns the user's security level.
  449.  
  450. USERS_DAT_PutSL(n AS INTEGER)
  451.  This form of the USERS_DAT_PutSL function sets the user's security level to
  452.  "n". "n" must be in the range of 1 to 9999.
  453.  
  454. USERS_DAT_GetNOC() AS INTEGER
  455.  This form of the USERS_DAT_GetNOC function returns the user's number of
  456.  calls.
  457.  
  458. USERS_DAT_PutNOC(n AS INTEGER)
  459.  This form of the USERS_DAT_PutNOC function sets the user's number of calls
  460.  to "n".
  461.  
  462. USERS_DAT_GetTLFT() AS INTEGER
  463.  This form of the USERS_DAT_GetTLFT function returns the user's time left for
  464.  today.
  465.  
  466. USERS_DAT_PutTLFT(n AS INTEGER)
  467.  This form of the USERS_DAT_PutTLFT function sets the user's time left for
  468.  today to "n".
  469.  
  470. USERS_DAT_GetLMC() AS INTEGER
  471.  This form of the USERS_DAT_GetLMC function returns the user's last message
  472.  conference.
  473.  
  474. USERS_DAT_PutLMC(n AS INTEGER)
  475.  This form of the USERS_DAT_PutLMC function sets the user's last message
  476.  conference to "n".
  477.  
  478. USERS_DAT_GetLFA() AS INTEGER
  479.  This form of the USERS_DAT_GetLFA function returns the user's last file area.
  480.  
  481. USERS_DAT_PutLFA(n AS INTEGER)
  482.  This form of the USERS_DAT_PutLFA function sets the user's last file area to
  483.  "n".
  484.  
  485. USERS_DAT_GetDP() AS INTEGER
  486.  This form of the USERS_DAT_GetDP function returns the user's default
  487.  protocol.
  488.  
  489. USERS_DAT_PutDP(n AS INTEGER)
  490.  This form of the USERS_DAT_PutDP function sets the user's default protocol
  491.  to "n". "n" must be as follows: 
  492.  
  493.     0        = No default.
  494.     1 to 255 = ASCII code for the protocol's first character.
  495.  
  496.     Example: n = ASCII(UCASE$(zmodem)
  497.       The ASCII of "Z" would be '90'
  498.  
  499. USERS_DAT_GetNOCT() AS INTEGER
  500.  This form of the USERS_DAT_GetNOCT function returns the user's number of
  501.  calls for today.
  502.  
  503. USERS_DAT_PutNOCT(n AS INTEGER)
  504.  This form of the USERS_DAT_PutNOCT function sets the user's number of calls
  505.  for today to "n".
  506.  
  507. USERS_DAT_GetDE() AS INTEGER
  508.  This form of the USERS_DAT_GetDE function returns the user's default editor.
  509.  
  510. USERS_DAT_DefaultEditor(n AS INTEGER)
  511.  This form of the USERS_DAT_PutDE function sets the user's default editor to
  512.  "n". "n" is set as follows:
  513.  
  514.     0 = No default editor.
  515.     1 = Line editor.
  516.     2 = Full screen editor.
  517.  
  518. USERS_DAT_GetICS() AS INTEGER
  519.  This form of the USERS_DAT_GetICS function returns the user's initial chat
  520.  status.
  521.  
  522. USERS_DAT_PutICS(n AS INTEGER)
  523.  This form of the USERS_DAT_PutICS function sets the user's initial chat
  524.  status to "n". "n" must be in the range of 0 to 1 as follows:
  525.  
  526.     0 = Available for chat.
  527.     1 = Not available for chat.
  528.  
  529. USERS_DAT_GetNOFDT() AS INTEGER
  530.  This form of the USERS_DAT_GetNOFDT function returns the user's number of
  531.  files downloaded for today.
  532.  
  533. USERS_DAT_PutNOFDT(n AS INTEGER)
  534.  This form of the USERS_DAT_PutNOFDT function sets the user's number of files
  535.  downloaded for today to "n".
  536.  
  537. USERS_DAT_GetAUIQ()
  538.  This form of the USERS_DAT_GetAUIQ function returns the user's archive used
  539.  in QWK.
  540.  
  541. USERS_DAT_PutAUIQ(n AS INTEGER)
  542.  This form of the USERS_DAT_PutAUIQ function sets the user's archive used in
  543.  QWK to "n". "n" must be in the range of 0 to 4 as follows:
  544.  
  545.     0 = ZIP
  546.     1 = LZH
  547.     2 = ARJ
  548.     3 = ARC
  549.     4 = PAK
  550.  
  551. USERS_DAT_GetNOFU() AS LONG
  552.  This form of the USERS_DAT_GetNOFU function returns the user's number of
  553.  files uploaded.
  554.  
  555. USERS_DAT_NumberOfFilesUploaded(n AS LONG)
  556.  This form of the USERS_DAT_PutNOFU function sets the user's number of files
  557.  uploaded to "n".
  558.  
  559. USERS_DAT_GetNOFD() AS LONG
  560.  This form of the USERS_DAT_GetNOFD function returns the user's number of
  561.  files downloaded.
  562.  
  563. USERS_DAT_PutNOFD(n AS LONG)
  564.  This form of the USERS_DAT_PutNOFD function sets the user's number of files
  565.  downloaded to "n".
  566.  
  567. USERS_DAT_GetNOKBU() AS LONG
  568.  This form of the USERS_DAT_GetNOKBU function returns the user's number of
  569.  Kilo Bytes uploaded.
  570.  
  571. USERS_DAT_PutNOKBU(n AS LONG)
  572.  This form of the USERS_DAT_PutNOKBU function sets the user's number of Kilo
  573.  Bytes uploaded to "n".
  574.  
  575. USERS_DAT_GetNOKBD() AS LONG
  576.  This form of the USERS_DAT_GetNOKBD function returns the user's number of
  577.  Kilo Bytes downloaded.
  578.  
  579. USERS_DAT_PutNOKBD(n AS LONG)
  580.  This form of the USERS_DAT_PutNOKBD function sets the user's number of Kilo
  581.  Bytes downloaded to "n".
  582.  
  583. USERS_DAT_GetNOMP() AS LONG
  584.  This form of the USERS_DAT_GetNOMP function returns the user's number of
  585.  messages posted.
  586.  
  587. USERS_DAT_PutNOMP(n AS LONG)
  588.  This form of the USERS_DAT_PutNOMP function sets the user's number of
  589.  messages posted to "n".
  590.  
  591. USERS_DAT_GetNOBDT() AS LONG
  592.  This form of the USERS_DAT_GetNOBDT function returns the user's number of
  593.  bytes downloaded today.
  594.  
  595. USERS_DAT_PutNOBDT(n AS LONG)
  596.  This form of the USERS_DAT_PutNOBDT function sets the user's number of bytes
  597.  downloaded today to "n".
  598.  
  599. USERS_DAT_GetNWN() AS STRING
  600.  The USERS_DAT_GetNWN function returns a pointer to the user's QWK netstatus
  601.  Network name string for the user. NOTE: If the user belongs to multiple
  602.  Networks, then it will return a string with all network names that this user
  603.  belongs to as in this Example: Fidonet, WME, Rime
  604.  
  605. USERS_DAT_GetNWF(nw AS INTEGER) AS INTEGER
  606.  This form of the USERS_DAT_GetNWF function returns the user's QWK netstatus
  607.  flag for the network specified by "nw".
  608.  
  609. USERS_DAT_PutNWF(nw AS INTEGER, n AS INTEGER)
  610.  This form of the USERS_DAT_PutNWF function sets the user's QWK netstatus flag
  611.  for the network specified by "nw" to "n". "n" must be in the range of 0 to 1
  612.  as follows:
  613.  
  614.     0 =    User does not have netstatus for the network.
  615.     1 = The user has netstatus for the network.
  616.  
  617. -----------------------------------------------------------------------------
  618. All BIT Field Flags below have been converted to Integers to allow easier
  619. access and handling.
  620. -----------------------------------------------------------------------------
  621. USERS_DAT_GetLOF() AS INTEGER
  622.  This form of the USERS_DAT_GetLOF function returns the user's locked out
  623.  flag.
  624.  
  625. USERS_DAT_PutLOF(n AS INTEGER)
  626.  This form of the USERS_DAT_PutLOF function sets the user's locked out flag
  627.  to "n". "n" must be in the range of 0 to 1 as follows:
  628.  
  629.     0 = The user is not locked out.
  630.     1 = The user is locked out.
  631.  
  632. USERS_DAT_GetMFDF() AS INTEGER
  633.  This form of the USERS_DAT_GetMFDF function returns the user's marked for
  634.  deletion flag.
  635.  
  636. USERS_DAT_PutMFDF(n AS INTEGER)
  637.  This form of the USERS_DAT_PutMFD function sets the user's marked for
  638.  deletion flag to "n". "n" must be in the range of 0 to 1 as follows:
  639.  
  640.     0 =    The user is not marked for deletion.
  641.     1 =    The user is marked for deletion.
  642.  
  643. USERS_DAT_GetILIQF() AS INTEGER
  644.  This form of the USERS_DAT_GetILIQF function returns the user's include
  645.  LOGON1 in QWK flag.
  646.  
  647. USERS_DAT_PutILIQF(n AS INTEGER)
  648.  This form of the USERS_DAT_PutILIQF function sets the user's include LOGON1
  649.  in QWK flag to "n". "n" must be in the range of 0 to 1 as follows:
  650.  
  651.     0 = Do not include LOGON1 in a QWK packet.
  652.     1 = Include LOGON1 in a QWK packet.
  653.  
  654. USERS_DAT_GetIGIQF() AS INTEGER
  655.  This form of the USERS_DAT_GetIGIQF function returns the user's include
  656.  GOODBYE in QWK flag.
  657.  
  658. USERS_DAT_PutIGIQF(n AS INTEGER)
  659.  This form of the USERS_DAT_PutIGIQF function sets the user's include GOODBYE
  660.  in QWK flag to "n". "n" must be in the range of 0 to 1 as follows:
  661.  
  662.     0 = Do not include GOODBYE in a QWK packet.
  663.     1 = Include GOODBYE in a QWK packet.
  664.  
  665. USERS_DAT_GetIBIQF() AS INTEGER
  666.  This form of the USERS_DAT_GetIBIQF function returns the user's include
  667.  bulletins in QWK flag.
  668.  
  669. USERS_DAT_PutIBIQF(n AS INTEGER)
  670.  This form of the USERS_DAT_PutIBIQF function sets the user's include
  671.  bulletins in QWK flag to "n". "n" must be in the range of 0 to 1 as follows:
  672.  
  673.     0 = Do not include Bulletins in a QWK packet.
  674.     1 = Include bulletins in a QWK packet.
  675.  
  676. USERS_DAT_GetINFIQF() AS INTEGER
  677.  This form of the USERS_DAT_GetINFIQF function returns the user's include new
  678.  files in QWK flag.
  679.  
  680. USERS_DAT_PutINFIQF(n AS INTEGER)
  681.  This form of the USERS_DAT_PutINFIQF function sets the user's include new
  682.  files in QWK flag to "n". "n" must be in the range of 0 to 1 as follows:
  683.  
  684.     0 = Do not include a new files list in a QWK packet.
  685.     1 = Include a new files list in a QWK packet.
  686.  
  687. USERS_DAT_GetINLIQF() AS INTEGER
  688.  This form of the USERS_DAT_GetINLIQF function returns the user's include
  689.  news letter in QWK flag.
  690.  
  691. USERS_DAT_PutINLIQF(n AS INTEGER)
  692.  This form of the USERS_DAT_PutINLIQF function sets the user's include news
  693.  letter in QWK flag to "n". "n" must be in the range of 0 to 1 as follows:
  694.  
  695.     0 = Do not include a newsletter in a QWK packet.
  696.     1 = Include a newsletter in a QWK packet.
  697.  
  698. USERS_DAT_GetCWMF() AS INTEGER
  699.  This form of the USERS_DAT_GetCWMF function returns the user's check waiting
  700.  messages flag.
  701.  
  702. USERS_DAT_PutCWMF(n AS INTEGER)
  703.  This form of the USERS_DAT_PutCWMF function sets the user's check waiting
  704.  message flag to "n". "n" must be in the range of 0 to 1 as follows:
  705.  
  706.     0 = Check for waiting messages at logon.
  707.     1 = Do not check for waiting messages at logon.
  708.  
  709. USERS_DAT_GetGAUF() AS INTEGER
  710.  This form of the USERS_DAT_GetGAUF function returns the user's goodbye after
  711.  upload flag.
  712.  
  713. USERS_DAT_PutGAUF(n AS INTEGER)
  714.  This form of the USERS_DAT_PutGAUF function sets the user's goodbye after
  715.  upload flag to "n". "n" must be in the range of 0 to 1 as follows:
  716.  
  717.     0 = Do not log off after a REP packet upload.
  718.     1 = Log the user off after a REP packet upload.
  719.  
  720. USERS_DAT_GetAFIQF() AS INTEGER
  721.  This form of the USERS_DAT_GetAFIQF function returns the user's attached
  722.  files in QWK flag.
  723.  
  724. USERS_DAT_PutAFIQF(n AS INTEGER)
  725.  This form of the USERS_DAT_PutAFIQF function sets the user's attached files
  726.  in QWK flag to "n". "n" must be in the range of 0 to 1 as follows:
  727.  
  728.     0 = Do not include attached files in a QWK packet.
  729.     1 = Include attached files in a QWK packet.
  730.