home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / n / newsflash / !FileBase / !NewsFlash / Docs / Developers / Structures / SVSWI's < prev    next >
Encoding:
Text File  |  1996-09-17  |  20.8 KB  |  1,005 lines

  1. Last update: 17/9/96
  2.  
  3. The following errors may be returned: (numbers given as offsets from the SWI
  4. chunk base)
  5.  
  6. +0 Unable to open base
  7. +1 Unable to read record
  8. +2 Base is opened for exclusive access
  9. +3 Record is locked
  10. +4 Record is deleted
  11. +5 Invalid block size
  12. +6 Invalid record number
  13. +7 Base not opened
  14. +8 Invalid pointer
  15. +9 Unable to open file
  16. +10 Not a file area
  17.  
  18. NewsFlash server SWI's
  19.  
  20. ===================================================================
  21.  
  22. NewsFlashServer_Version
  23.  
  24. On exit:
  25.  
  26.    R0 = Pointer to version string
  27.    R1 = Version word (&RRRRHHLL)
  28.  
  29. ===================================================================
  30.  
  31. NewsFlashServer_InitialiseLine
  32.  
  33. On entry:
  34.  
  35.    R0 = Requested line number or -1
  36.  
  37. On exit:
  38.  
  39.    R0 = Assigned line number or -1
  40.    R1 = RMA work block assigned or pointer to error string
  41.  
  42. Use:
  43.  
  44. This returns the RMA work block for this line and your assigned line number.
  45.  
  46. ===================================================================
  47.  
  48. NewsFlashServer_CloseDownLine
  49.  
  50. On entry:
  51.  
  52.    R0 = Line number or -1 for all
  53.  
  54. ===================================================================
  55.  
  56. NewsFlashServer_RMAPointer
  57.  
  58. On entry:
  59.  
  60.    R0 = Line number
  61.  
  62. On exit:
  63.  
  64.    R0 = Pointer to RMA workspace or 0 for none
  65.  
  66. ===================================================================
  67.  
  68. NewsFlashServer_AvailableLines
  69.  
  70. On exit:
  71.  
  72.    R0 = Number of available lines
  73.  
  74. ===================================================================
  75.  
  76. NewsFlashServer_GenerateEvent
  77.  
  78. On entry:
  79.  
  80. R0 = Line number (or -1 for general)
  81. R1 = Event code
  82.  
  83. Use:
  84.  
  85. The call is used to generate an event on any one of the lines.
  86.  
  87. Line event codes:
  88.  
  89. 0  User has logged off
  90. 1  User details have changed (User name or action)
  91. 2  User has logged on (read name)
  92. 3  File transfer has started
  93. 4  File transfer has finished
  94.  
  95. General event codes:
  96.  
  97. 0 File areas have changed
  98. 1 Message areas have changed
  99. 2 File bases have changed
  100. 3 Message bases have changed
  101. 4 Line info has changed
  102.  
  103. ===================================================================
  104.  
  105. NewsFlashServer_GetEvent
  106.  
  107. On entry:
  108.  
  109. R0 = Line number or -1
  110. R1 = Event mask
  111.  
  112. On exit:
  113.  
  114. R0 = Event code or -1 for none
  115.  
  116. Use:
  117.  
  118. This call is used to read events. It should only be called by the
  119. main application.
  120.  
  121. ===================================================================
  122.  
  123. NewsFlashServer_OpenFileBase
  124.  
  125. On entry:
  126.  
  127. R0 = 0 to open for shared read/write access
  128.    = 1 to open for shared read access
  129.    = 2 to open for deny write to other applications (read/write)
  130.    = 3 to open for deny access to other applications (exclusive)
  131.  
  132. Use:
  133.  
  134. This call will open all file base related files
  135.  
  136. ===================================================================
  137.  
  138. NewsFlashServer_CloseFileBase
  139.  
  140. Use:
  141.  
  142. This call will close all file base related files
  143.  
  144. ===================================================================
  145.  
  146. NewsFlashServer_ReadFileBase
  147.  
  148. On entry:
  149.  
  150. R0 = File base number (1-32)
  151. R1 = Block to fill
  152. R2 = Size of block (must be 64)
  153.  
  154. On exit:
  155.  
  156. Block is filled as follows
  157.  
  158. &00 File base name
  159. &38 User level required to 'know about it'
  160. &3C User level required to access
  161.  
  162. ===================================================================
  163.  
  164. NewsFlashServer_AmendFileBase
  165.  
  166. On entry:
  167.  
  168. R0 = File base number (1-32)
  169. R1 = File base block
  170. R2 = Size of block (must be 64)
  171.  
  172. Block should be filled as follows
  173.  
  174. &00 File base name
  175. &38 User level required to 'know about it'
  176. &3C User level required to access
  177.  
  178. ===================================================================
  179.  
  180. NewsFlashServer_NumberOfFileAreas
  181.  
  182. On exit:
  183.  
  184.    R0 = Number of file areas
  185.  
  186. Use:
  187.  
  188. This call will return the number of file areas
  189.  
  190. ===================================================================
  191.  
  192. NewsFlashServer_CreateFileArea
  193.  
  194. On entry:
  195.  
  196.    R0 = Pointer to 48 byte block for file area details
  197.    R1 = Size of block (must be 48)
  198.    
  199. On entry:
  200.  
  201. Block is filled as follows:
  202.  
  203. &00 Min user level required to 'know about it'
  204. &04 Min user level required to view files
  205. &08 Min user level required to upload
  206. &0C Min user level required to download
  207. &10 File area name (nul terminated)
  208.  
  209. &30 Parent object (Optional) 
  210.  
  211. On exit:
  212.  
  213. R0 = File area number allocated to that area
  214.  
  215. Use:
  216.  
  217. This call will create a new file area.
  218.  
  219. ===================================================================
  220.  
  221. NewsFlashServer_ReadFileArea
  222.  
  223. On entry:
  224.  
  225.    R0 = File area
  226.    R1 = Pointer to 64 byte block for file area details
  227.    R2 = Size of block (must be 64)
  228.    
  229. On exit:
  230.  
  231. Block is filled as follows:
  232.  
  233. &00 Min user level required to 'know about it'
  234. &04 Min user level required to view files
  235. &08 Min user level required to upload
  236. &0C Min user level required to download
  237. &10 File area name (nul terminated)
  238. &30 # of files in file area
  239. &34 # of bytes in file area
  240. &38 First file number in this area (0 if no files)
  241. &3C Last file number in this area (0 if no files)
  242.  
  243. Use:
  244.  
  245. This will return the details of the specified file area.
  246.  
  247. ===================================================================
  248.  
  249. NewsFlashServer_AmendFileArea
  250.  
  251. On entry:
  252.  
  253.    R0 = File area
  254.    R1 = Pointer to 48 byte block for file area details
  255.    R2 = Size of block (must be 48)
  256.    
  257. On exit:
  258.  
  259. Block is filled as follows:
  260.  
  261. &00 Min user level required to 'know about it'
  262. &04 Min user level required to view files
  263. &08 Min user level required to upload
  264. &0C Min user level required to download
  265. &10 File area name (nul terminated)
  266.  
  267. Use:
  268.  
  269. This will set the details of the specified file area.
  270.  
  271. ===================================================================
  272.  
  273. NewsFlashServer_DeleteFileArea
  274.  
  275. On entry:
  276.  
  277.    R0 = File area to delete
  278.    R1 = Flags:
  279.  
  280.    bit 0 - Reorganise file base
  281.  
  282. ===================================================================
  283.  
  284. NewsFlashServer_FileNameFromNumber
  285.  
  286. On entry:
  287.  
  288.    R0 = File number (from 1)
  289.    R1 = Buffer for filename
  290.    R2 = Size of buffer (must be 16)
  291.    
  292. On exit:
  293.  
  294. Buffer is filled
  295.    
  296. Use:
  297.  
  298. This call is used by file transfer doors. This call will return the
  299. file name of any file from it's file number.
  300.  
  301. ===================================================================
  302.  
  303. NewsFlashServer_FileRealNameFromNumber
  304.  
  305. On entry:
  306.  
  307.    R0 = File number (from 1)
  308.    R1 = Pointer to buffer for name
  309.    R2 = Size of buffer (must be 256)
  310.    
  311. On exit:
  312.  
  313.    R0 = Pointer to buffer start (R1 on entry)
  314.    R1 = Pointer to terminating null
  315.    R2 = Bytes remaining in buffer
  316.  
  317. buffer is filled
  318.  
  319. Use:
  320.  
  321. This call is used by file transfer doors. This call will return the
  322. real filename of any file from it's file number. e.g.:
  323.  
  324. File number = &00231C01
  325.  
  326. File name   = <NewsFlash$BBS>BBS.FileBase.Files.23.1C.01
  327.  
  328.  
  329. ===================================================================
  330.  
  331. NewsFlashServer_OpenFile
  332.  
  333. On entry:
  334.  
  335.    R0 = File number (from 1)
  336.    
  337. On exit:
  338.  
  339.    R0 = File handle
  340.    R1 = Size of file in bytes
  341.    
  342. Use:
  343.  
  344. This call is used by file transfer doors. It will open a file ready
  345. for download
  346.  
  347. ===================================================================
  348.  
  349. NewsFlashServer_FileInfo
  350.  
  351. On entry:
  352.  
  353.    R0 = File number
  354.    R1 = 64 byte Buffer for info
  355.    R2 = Size of block (must be 64)
  356.  
  357. On Exit the buffer is filled as follows:
  358.  
  359. R1+&00 : File name
  360. R1+&10 : Filecode
  361. R1+&14 : Offset pointer to short description of file
  362. R1+&18 : Offset pointer to long description of file
  363. R1+&1C : Size of file in bytes
  364. R1+&20 : Number of user who uploaded it
  365. R1+&24 : 5 byte time when uploaded
  366. R1+&29 : File flags
  367.  
  368.   Bit 0 - For sysop only
  369.   Bit 1 - Deleted (virtual)
  370.   Bit 2 - File has been deleted (actual)
  371.   Bit 3 - Is file area (see &2B)
  372.   
  373. R1+&2B : File area type (0 - File area, 1 File base, 2 - File)
  374. R1+&2C : File area of file
  375. R1+&30 : Number of times downloaded
  376. R1+&34 : Previous file in this file area (0 for none)
  377. R1+&38 : Next file in this file area (0 for none)
  378. R1+&3C : NewsFlash file type
  379.  
  380. Use:
  381.  
  382. This call will return information on a BBS file.
  383.  
  384. ===================================================================
  385.  
  386. NewsFlashServer_CreateFile
  387.  
  388. On entry:
  389.  
  390.    R0 = stage
  391.    
  392. For R0 = 0..
  393.  
  394. On exit:
  395.  
  396.    R0 = File handle of new file (0 if unable to create)
  397.    R1 = File code for new file
  398.  
  399. For R0 = 1..
  400.  
  401. On entry:
  402.  
  403.    R1 = Pointer to info buffer:
  404.    
  405.    R1+0  = File code of new file
  406.    R1+4  = Size of file
  407.    R1+8  = User number of uploader (0 for sysop)
  408.    R1+12 = Pointer of short file description (-1 for none)
  409.    R1+16 = Pointer of long file description (-1 for none)
  410.    R1+20 = File area for file
  411.    R1+24 = Filename
  412.    
  413.    R2 = Size of info buffer (must be 40)
  414.  
  415. On exit:
  416.  
  417.    R0 = File number of new file (0 if unable to create)
  418.  
  419. This call is used by file transfer doors. This will create a new
  420. BBS file and open it for output (ready for upload).
  421.  
  422. ===================================================================
  423.  
  424. NewsFlashServer_AmendFile
  425.  
  426. On entry:
  427.  
  428.    R0 = Number of file
  429.    R1 = Pointer to info buffer:
  430.  
  431. R1+&00 : File name
  432. R1+&14 : Offset pointer to short description of file
  433. R1+&18 : Offset pointer to long description of file
  434. R1+&1C : Size of file in bytes
  435. R1+&20 : Number of user who uploaded it
  436. R1+&24 : 5 byte time when uploaded
  437. R1+&29 : File flags
  438. R1+&2C : File area of file
  439. R1+&30 : Number of times downloaded
  440.  
  441.    R2 = Size of buffer (must be 52)
  442.  
  443. On exit:
  444.  
  445.    R0 = 0 if unable to amend, -1 otherwise
  446.  
  447. This call will alter the details of a file.
  448.  
  449. ===================================================================
  450.  
  451. NewsFlashServer_FileOp
  452.  
  453. On entry:
  454.  
  455.    R0 = File number
  456.    R1 = Op code :
  457.    
  458.       R1 = 0   - File has been downloaded
  459.       
  460.       R1 = 1   - Set short file description
  461.          R2 = Pointer to description
  462.          R3 = Length of description
  463.          
  464.       R1 = 2   - Set long file description
  465.          R2 = Pointer to description
  466.          R3 = Length of description
  467.          
  468.       R1 = 3   - Delete file (undeleteable)
  469.       R1 = 4   - Delete file
  470.       R1 = 5   - Undelete file
  471.       
  472.       R1 = 6   - Move file
  473.       R2 = New file base
  474.  
  475. Use:
  476.  
  477. Perform operations on a file
  478.  
  479. ===================================================================
  480.  
  481. NewsFlashServer_LoadFileDescription
  482.  
  483. On entry:
  484.  
  485.    R0 = Pointer to description
  486.    R1 = Pointer to buffer for description (or 0 to find out size)
  487.    R2 = Size of buffer (0=16K)
  488.    
  489. On exit:
  490.  
  491.    R0 = Size of description
  492.  
  493. ===================================================================
  494.  
  495. NewsFlashServer_MakeFileDescription
  496.  
  497. On entry:
  498.  
  499.    R0 = Pointer to buffer for description
  500.    R1 = Length of description
  501.    
  502. On exit:
  503.  
  504.    R0 = Pointer of description
  505.  
  506. ===================================================================
  507.  
  508. NewsFlashServer_OpenUserBase
  509.  
  510. On exit:
  511.  
  512. R0 = 0 if opened succesfully, -1 otherwise.
  513.  
  514. ===================================================================
  515.  
  516. NewsFlashServer_CloseUserBase
  517.  
  518. ===================================================================
  519.  
  520. NewsFlashServer_UpdateUserBase
  521.  
  522. This will save all the users stored in RAM to the user base file.
  523.  
  524. ===================================================================
  525.  
  526. NewsFlashServer_GetUserBase
  527.  
  528. On exit:
  529.  
  530. R0 = Number of users in user base
  531. R1 = File handle of user base
  532. R2 = Size of user base
  533.  
  534. ===================================================================
  535.  
  536. NewsFlashServer_GetUserPointer
  537.  
  538. On entry:
  539.  
  540. R0 = User number
  541.  
  542. On exit:
  543.  
  544. R0 = Pointer to user details (0 if unknown)
  545.  
  546. Note: This SWI must be re-called after a WIMP poll if you wish to
  547. use the pointer again.
  548.  
  549. ===================================================================
  550.  
  551. NewsFlashServer_CreateUser
  552.  
  553. On entry:
  554.  
  555. R0 = Pointer to user details block
  556. R1 = Size of block (must be 256)
  557.  
  558. On exit:
  559.  
  560. R0 = Allocated user number or 0 for none
  561.  
  562. ===================================================================
  563.  
  564. NewsFlashServer_OpenMessageBase
  565.  
  566. On entry:
  567.  
  568. R0 = 0 to open for shared read/write access
  569.    = 1 to open for shared read access
  570.    = 2 to open for deny write to other applications (read/write)
  571.    = 3 to open for deny access to other applications (exclusive)
  572.  
  573. Use:
  574.  
  575. Opens all message base related files.
  576.  
  577. ===================================================================
  578.  
  579. NewsFlashServer_CloseMessageBase
  580.  
  581. Use:
  582.  
  583. Closes all message base related files
  584.  
  585. ===================================================================
  586.  
  587. NewsFlashServer_ReadMessageBase
  588.  
  589. On entry:
  590.  
  591. R0 = Message base number (1-32)
  592. R1 = Block to fill
  593. R2 = Size of block (must be 64)
  594.  
  595. On exit:
  596.  
  597. Block is filled as follows
  598.  
  599. &00 Message base name
  600. &38 User level required to 'know about it'
  601. &3C User level required to access
  602.  
  603. ===================================================================
  604.  
  605. NewsFlashServer_AmendMessageBase
  606.  
  607. On entry:
  608.  
  609. R0 = Message base number (1-32)
  610. R1 = Block
  611. R2 = Size of block (must be 64)
  612.  
  613. Block should be filled as follows
  614.  
  615. &00 Message base name
  616. &38 User level required to 'know about it'
  617. &3C User level required to access
  618.  
  619. ===================================================================
  620.  
  621. NewsFlashServer_CreateMessageArea
  622.  
  623. On entry:
  624.  
  625.    R0 = Pointer to message area block (112 bytes)
  626.    R1 = Size of block (must be 112)
  627.  
  628. Block is filled as follows:
  629.  
  630. &00 Min user level required to 'know about it'
  631. &04 Min user level required to view messages
  632. &08 Min user level required to write messages
  633. &0C Reserved..
  634. &10 Message area name (nul terminated)
  635. &30 Message area type:
  636.  
  637.       0 - Local private
  638.       1 - Netmail
  639.       2 - Echo
  640.       3 - Local echo
  641.       
  642. &34 Message area data:
  643.  
  644. For echo area:
  645.  
  646. Nul terminated echo name
  647.  
  648. On exit:
  649.  
  650. R0 = Allocated message area number
  651.  
  652. ===================================================================
  653.  
  654. NewsFlashServer_ReadMessageArea
  655.  
  656. On entry:
  657.  
  658.    R0 = Message area number
  659.    R1 = Pointer to block for details (128 bytes)
  660.    R2 = Size of block (must be 128)
  661.  
  662. On exit the block is filled as follows:
  663.  
  664. &00 Min user level required to 'know about it'
  665. &04 Min user level required to view messages
  666. &08 Min user level required to write messages
  667. &0C Reserved..
  668. &10 Message area name (nul terminated)
  669. &30 Message area type:
  670.  
  671.       0 - Local private
  672.       1 - Netmail
  673.       2 - Echo
  674.       3 - Local echo
  675.       
  676. &34 Message area data:
  677.  
  678. For echo area:
  679.  
  680. Nul terminated echo name
  681.  
  682. &70 # of messages in message area
  683. &74 # of bytes in message area
  684. &78 First message number in this area (0 if no messages)
  685. &7C Last message number in this area (0 if no messages)
  686.  
  687. ===================================================================
  688.  
  689. NewsFlashServer_AmendMessageArea
  690.  
  691. On entry:
  692.  
  693.    R0 = Message area number
  694.    R1 = Pointer to block for details
  695.    R2 = Size of block (must be 128)
  696.  
  697. Block is filled as follows:
  698.  
  699. &00 Min user level required to 'know about it'
  700. &04 Min user level required to view messages
  701. &08 Min user level required to write messages
  702. &0C Reserved..
  703. &10 Message area name (nul terminated)
  704. &30 Message area type:
  705.  
  706.       0 - Local private
  707.       1 - Netmail
  708.       2 - Echo
  709.       3 - Local echo
  710.       
  711. &34 Message area data:
  712.  
  713. For echo area:
  714.  
  715. Nul terminated echo name
  716.  
  717. &70 # of messages in message area
  718. &74 # of bytes in message area
  719. &78 First message number in this area (0 if no messages)
  720. &7C Last message number in this area (0 if no messages)
  721.  
  722. ===================================================================
  723.  
  724. NewsFlashServer_DeleteMessageArea
  725.  
  726. On entry:
  727.  
  728.    R0 = Message area number
  729.    R1 = Flags:
  730.  
  731.      bit 0 - Reorganise message base
  732.  
  733. ===================================================================
  734.  
  735. NewsFlashServer_CreateMessage
  736.  
  737. On entry:
  738.  
  739.    R0 = Pointer to message (or 0 to return file handle to copy message to and close)
  740.    R1 = Pointer to information block
  741.    R2 = Size of block (must be 28)
  742.  
  743. R1 + 0  = Size of message
  744. R1 + 4  = Message area
  745. R1 + 8  = Pointer to subject
  746.  
  747. For local e-mail:
  748.  
  749. R1 + 12 = User number of sender
  750. R1 + 16 = User number of receiver
  751.  
  752. For netmail:
  753.  
  754. R1 + 12 = Pointer to user name of sender
  755. R1 + 16 = Pointer to user name of recipient
  756. R1 + 20 = Pointer to address of sender
  757. R1 + 24 = Pointer to address of recipient
  758.  
  759. For echo mail:
  760.  
  761. R1 + 12 = Pointer to user name of sender
  762. R1 + 16 = Pointer to user name of recipient
  763. R1 + 20 = Pointer to address of sender
  764.  
  765. For local echo mail:
  766.  
  767. R1 + 12 = User number of sender
  768. R1 + 16 = User number of receiver
  769.  
  770. On exit:
  771.  
  772. R0 = Allocated message number (or 0 if unable to create)
  773. R1 = File handle to copy message to (do not adjust pointer)
  774.  
  775. ===================================================================
  776.  
  777. NewsFlashServer_ReadMessage
  778.  
  779. On entry:
  780.  
  781.    R0 = Message number
  782.    R1 = Buffer for message info (or 0 not to fill)
  783.    R2 = Buffer for message (or -1 to return file handle, 0 not fill)
  784.    R3 = Size of buffer at R1 (must be 128 bytes)
  785.    R4 = Size of buffer for message (must be 16K)
  786.  
  787. block in R1 is filled as follows:
  788.  
  789. &00   Previous message in this message area (0 for none)
  790. &04   Next message in this message area (0 for none)
  791. &08   Message code
  792. &0C   Length of message
  793. &10   5-byte Time from 1900 when written
  794. &15   Flags:
  795.  
  796.       Bit 0 - File attached
  797.       Bit 1 - Deleted (virtual)
  798.       Bit 2 - Message has been deleted (actual)
  799.       Bit 3 - Unread
  800.       Bit 4 - Downloaded
  801.       
  802. &16   16 bit word.. # of times read..
  803.       
  804. &18   Message area
  805. &1C   Message type:
  806.  
  807.       0 - Local private
  808.       1 - Netmail
  809.       2 - Echo
  810.       3 - Local echo
  811.       
  812. &20   Message data - depends on message type (&1C):
  813.  
  814. For 'Local private', type 0..
  815.  
  816. &20   User number of author
  817. &24   User number of recipient
  818. &28   File # of file attached (if any)
  819. &2C   Reserved..
  820. &30   Subject                          (80 bytes)
  821.  
  822. For 'Netmail', type 1
  823.  
  824. &20   User name of author              (20 bytes)
  825. &34   Name of recipient                (20 bytes)
  826. &48   Subject                          (20 bytes)
  827. &5C   Sender address (in ASCII)..      (16 bytes)
  828. &6C   Destination address (in ASCII).. (16 bytes)
  829. &7C   File # of file attached (if any)
  830.  
  831. For 'Echo', type 2
  832.  
  833. &20   User name of author              (24 bytes)
  834. &38   Name of recipient                (24 bytes)
  835. &50   Subject                          (32 bytes)
  836. &70   Sender address                   (16 bytes)
  837.  
  838. For 'Local Echo', type 3
  839.  
  840. &20   User number of author
  841. &24   User number of recipient
  842. &28   Reserved..
  843. &2C   Reserved..
  844. &30   Subject                          (80 bytes)
  845.  
  846. On exit:
  847.  
  848. R0 = File handle if R2 = -1 on entry (must be closed when finished with)
  849.  
  850. ===================================================================
  851.  
  852. NewsFlashServer_AmendMessage
  853.  
  854. On entry:
  855.  
  856.    R0 = Message number
  857.    R1 = Pointer to message info (0 not to alter)
  858.    R2 = Pointer to message (or -1 to copy from file, 0 not to alter)
  859.    R3 = File handle if R2 = -1 (wont close)
  860.    R4 = Size of block for message info (must be 128)
  861.  
  862. See above for R1 block
  863.  
  864. ===================================================================
  865.  
  866. NewsFlashServer_MessageOp
  867.  
  868. On entry:
  869.  
  870.    R0 = Message number
  871.    R1 = Message Op
  872.  
  873.       R1 = 0   - Message has been read
  874.       
  875.       R1 = 1   - Message has been read by recipient
  876.  
  877.       R1 = 2   - Attach file to message
  878.       R2 = File number (0 to clear)
  879.       R3 = Flags:
  880.       
  881.         bit 0 - Force attach      
  882.       
  883.       R1 = 3   - Delete message (undeleteable)
  884.       R1 = 4   - Delete message
  885.       R1 = 5   - Undelete message
  886.       R1 = 6   - Message has been scanned
  887.       
  888.       R1 = 7   - Move message
  889.       R2 = New message base number
  890.       
  891.  
  892. Use:
  893.  
  894. Perform operations on a message
  895.  
  896. ===================================================================
  897.  
  898. NewsFlashServer_KeyName
  899.  
  900. On entry:
  901.  
  902. R0 = Key number (from 1)
  903. R1 = Pointer to new key name (or <=0 for read)
  904.  
  905. On exit:
  906.  
  907. R1 = Pointer to key name (must not be overwritten)
  908.  
  909. ===================================================================
  910.  
  911. NewsFlashServer_FindKey
  912.  
  913. On entry:
  914.  
  915. R0 = Pointer to key name to match
  916.  
  917. On exit:
  918.  
  919. R0 = Key number (from 1), 0 if not found
  920.  
  921. ===================================================================
  922.  
  923. NewsFlashServer_KeyMenu
  924.  
  925. On entry:
  926.  
  927. R0 = Word containing keys to 'tick'
  928.  
  929. On exit:
  930.  
  931. R1 = Pointer to WIMP menu of keys (suitable for Wimp_CreateMenu)
  932.  
  933. ===================================================================
  934.  
  935. NewsFlashServer_ResolveObject
  936.  
  937. On entry:
  938.  
  939. R0 = Object parent (0 for root), must be a file area ID
  940. R1 = Pointer to object name (e.g. "User files/Chris/work")
  941. R2 = Desired object type:
  942.  
  943.  0 - File
  944.  1 - File area (directory)
  945.  2 - File or File area (File has priority)
  946.  3 - File area or File (File area has priority)
  947.  
  948. R3 = User access level
  949. R4 = User keys
  950. R5 = ID of last returned object (of type R2) or 0 for start
  951.  
  952. On exit:
  953.  
  954. R0 = Object ID (0 for root)
  955. R1 = Object type (0 - file, 1 - file area, -1 - not found)
  956.  
  957. File area ID's are of the form:
  958.  
  959. &TNNNNNNN
  960.  
  961. Where T = Type, N = Number T
  962.  
  963. Types:
  964.  
  965. 0 = Standard file area
  966. 1 = File base
  967. 2 = Virtual file area (file)
  968.  
  969. File ID's are simply file numbers
  970.  
  971. Special object names:
  972.  
  973. ".." - Return parent of R0
  974. "."  - Return R0
  975. "/" or "" - Return root (0)
  976.  
  977. ===================================================================
  978.  
  979. NewsFlashServer_InitialiseVMM
  980.  
  981. On entry:
  982.  
  983. R0 = Pointer to VMM data path
  984.  
  985. ===================================================================
  986.  
  987. NewsFlashServer_CloseDownVMM
  988.  
  989. ===================================================================
  990.  
  991. NewsFlashServer_VMMBlock
  992.  
  993. On exit:
  994.  
  995. R0 = Pointer to VMM block (may be used by any NewsFlash application)
  996.  
  997. An error will be generated if there is no VMM block
  998.  
  999. ===================================================================
  1000.  
  1001. by Chris Davis
  1002.  
  1003. e-mail : Fidonet # 2:253/417.6
  1004.          Internet  chris@armadilo.demon.co.uk
  1005.