                                 9              VAX Notes Callable Routines Reference Manual                  Order Number: DRAFT                    February 1990  G              This is a draft and likely does not fully reflect the API.           D              Revision/Update Information:  This is a revised manual.  E              Operating System and Version: VMS Version 5.3 or higher.   A              Software Version:             VAX Notes Version 2.1.               *              digital equipment corporation#              maynard, massachusetts                        @              ___________________________________________________'              First Printing, March 1986 #              Revised, February 1990   J              The information in this document is subject to change withoutJ              notice and should not be construed as a commitment by DigitalI              Equipment Corporation. Digital Equipment Corporation assumes E              no responsibility for any errors that may appear in this               document.  I              The software described in this document is furnished under a J              license and may be used or copied only in accordance with the#              terms of such license.   D              No responsibility is assumed for the use or reliabilityE              of software on equipment that is not supplied by Digital ?              Equipment Corporation or its affiliated companies.   F              Restricted Rights: Use, duplication, or disclosure by theG              U.S. Government is subject to restrictions as set forth in I              subparagraph (c)(1)(ii)  of the Rights in Technical Data and <              Computer Software clause at DFARS 252.227-7013.  8               Digital Equipment Corporation 1986, 1990.  !              All Rights Reserved.               Printed in U.S.A.  J              The postpaid Reader's Comments forms at the end of this docu-I              ment request your critical evaluation to assist in preparing "              future documentation.  J                                                                     ZK____                                   J                                                                   ContentsJ           ________________________________________________________________  K           Preface .......................................................v.     J           ________________________________________________________________C           Part I   VAX Notes Callable Routines and Network Protocol   J           ________________________________________________________________!           Chapter 1  Introduction   J                1.1   Callable High-Level User Interface..............  1-1  J                1.2   Notefile Format...................................1-3J                      1.2.1 Use of Keys in Records....................  1-3J                      1.2.2 Record Types................................1-5  J                1.3   The Seen/Unseen Map...............................1-8  J                1.4   Callable Routines.................................1-8J                      1.4.1 Calling Sequence........................... 1-9:                      1.4.2 Error Reporting by the CallableJ                            Routines ..................................1-10J                      1.4.3 Continuable Operations.................... 1-11J                      1.4.4 Passing Context Information..............  1-11          J                                                                        iii                 J           ________________________________________________________________&           Chapter 2  Notefile Routines  J                2.1   NOTES$NOTEFILE_BEGIN..............................2-3  J                2.2   NOTES$NOTEFILE_END................................2-5  J                2.3   NOTES$NOTEFILE_GET_INFO...........................2-5  J                2.4   NOTES$NOTEFILE_MODIFY.............................2-5  J                2.5   NOTES$NOTEFILE_LIST_BEGIN........................ 2-6  J                2.6   NOTES$NOTEFILE_LIST...............................2-7    J           ________________________________________________________________#           Chapter 3  Class Routines   J                3.1   NOTES$CLASS_BEGIN.................................3-2  J                3.2   NOTES$CLASS_END...................................3-2  J                3.3   NOTES$CLASS_ADD...................................3-2  J                3.4   NOTES$CLASS_DELETE................................3-3  J                3.5   NOTES$CLASS_GET...................................3-3  J                3.6   NOTES$CLASS_GET_ENTRY.............................3-4  J                3.7   NOTES$CLASS_MODIFY................................3-4                         iv                 J           ________________________________________________________________#           Chapter 4  Entry Routines   J                4.1   NOTES$ENTRY_BEGIN.................................4-3  J                4.2   NOTES$ENTRY_END...................................4-3  J                4.3   NOTES$ENTRY_ADD...................................4-4  J                4.4   NOTES$ENTRY_DELETE................................4-5  J                4.5   NOTES$ENTRY_GET...................................4-5  J                4.6   NOTES$ENTRY_GET_CLASS.............................4-6  J                4.7   NOTES$ENTRY_GET_KEYWORD...........................4-7  J                4.8   NOTES$ENTRY_MODIFY................................4-7  J                4.9   NOTES$ENTRY_UPDATE................................4-8    J           ________________________________________________________________%           Chapter 5  Keyword Routines   J                5.1   NOTES$KEYWORD_BEGIN...............................5-2  J                5.2   NOTES$KEYWORD_END.................................5-2  J                5.3   NOTES$KEYWORD_ADD.................................5-2  J                5.4   NOTES$KEYWORD_DELETE..............................5-3  J                5.5   NOTES$KEYWORD_GET.................................5-4  J                5.6   NOTES$KEYWORD_GET_NOTE............................5-4  J                5.7   NOTES$KEYWORD_MODIFY..............................5-5  J                                                                          v                 J           ________________________________________________________________"           Chapter 6  Note Routines  J                6.1   NOTES$NOTE_BEGIN..................................6-3  J                6.2   NOTES$NOTE_END....................................6-4  J                6.3   NOTES$NOTE_ADD....................................6-4  J                6.4   NOTES$NOTE_ADD_TEXT...............................6-5  J                6.5   NOTES$NOTE_DELETE.................................6-5  J                6.6   NOTES$NOTE_GET....................................6-6  J                6.7   NOTES$NOTE_GET_KEYWORD............................6-8  J                6.8   NOTES$NOTE_GET_TEXT...............................6-8  J                6.9   NOTES$NOTE_MODIFY.................................6-9    J           ________________________________________________________________%           Chapter 7  Profile Routines   J                7.1   NOTES$PROFILE_BEGIN...............................7-2  J                7.2   NOTES$PROFILE_END.................................7-2  J                7.3   NOTES$PROFILE_GET.................................7-3  J                7.4   NOTES$PROFILE_MODIFY..............................7-3                         vi                 J           ________________________________________________________________"           Chapter 8  User Routines  J                8.1   NOTES$USER_BEGIN..................................8-2  J                8.2   NOTES$USER_END....................................8-2  J                8.3   NOTES$USER_ADD....................................8-3  J                8.4   NOTES$USER_DELETE.................................8-4  J                8.5   NOTES$USER_GET....................................8-4  J                8.6   NOTES$USER_MODIFY.................................8-5    J           ________________________________________________________________/           Chapter 9  VAX Notes Network Protocol   J                9.1   Type Field........................................9-2  J                9.2   Length Field......................................9-4  J                9.3   Value Field.......................................9-6  J                9.4   Structure of a Data Packet....................... 9-6  J           ________________________________________________________________1           Part II   VAX Notes Routines Dictionary   J                      NOTES$CLASS_ADD.................................... 3J                      NOTES$CLASS_BEGIN.................................. 6J                      NOTES$CLASS_DELETE................................. 9J                      NOTES$CLASS_END....................................12J                      NOTES$CLASS_GET....................................15J                      NOTES$CLASS_GET_ENTRY............................. 18J                      NOTES$CLASS_MODIFY.................................21J                      NOTES$ENTRY_ADD....................................24  J                                                                        vii                 J                      NOTES$ENTRY_BEGIN..................................27J                      NOTES$ENTRY_DELETE.................................30J                      NOTES$ENTRY_END....................................33J                      NOTES$ENTRY_GET....................................36J                      NOTES$ENTRY_GET_CLASS............................. 39J                      NOTES$ENTRY_GET_KEYWORD........................... 42J                      NOTES$ENTRY_MODIFY.................................45J                      NOTES$ENTRY_UPDATE.................................48J                      NOTES$KEYWORD_ADD..................................51J                      NOTES$KEYWORD_BEGIN............................... 54J                      NOTES$KEYWORD_DELETE.............................. 57J                      NOTES$KEYWORD_END..................................60J                      NOTES$KEYWORD_GET..................................63J                      NOTES$KEYWORD_GET_NOTE............................ 66J                      NOTES$KEYWORD_MODIFY.............................. 69J                      NOTES$NOTEFILE_BEGIN.............................. 72J                      NOTES$NOTEFILE_END.................................76J                      NOTES$NOTEFILE_GET_INFO........................... 79J                      NOTES$NOTEFILE_LIST............................... 82J                      NOTES$NOTEFILE_LIST_BEGIN........................  85J                      NOTES$NOTEFILE_MODIFY............................. 88J                      NOTES$NOTE_ADD.....................................91J                      NOTES$NOTE_ADD_TEXT............................... 94J                      NOTES$NOTE_BEGIN...................................97J                      NOTES$NOTE_DELETE.................................100J                      NOTES$NOTE_END....................................103J                      NOTES$NOTE_GET....................................106J                      NOTES$NOTE_GET_KEYWORD............................110J                      NOTES$NOTE_GET_TEXT...............................113J                      NOTES$NOTE_MODIFY.................................116J                      NOTES$PROFILE_BEGIN...............................119J                      NOTES$PROFILE_END.................................122J                      NOTES$PROFILE_GET.................................125J                      NOTES$PROFILE_MODIFY..............................128J                      NOTES$USER_ADD....................................131J                      NOTES$USER_BEGIN..................................134J                      NOTES$USER_DELETE.................................137J                      NOTES$USER_END....................................140             viii                 J                      NOTES$USER_GET....................................143J                      NOTES$USER_MODIFY.................................146    J           ________________________________________________________________           Part III   Appendixes   J           ________________________________________________________________2           Appendix A Item List Format and Contents  J                A.1   Various Context Items.............................A-1  J                A.2   Item Codes........................................A-2    J           ________________________________________________________________#           Appendix B Sample Program   J           ________________________________________________________________           Appendix C Messages     J           ________________________________________________________________           Index   J           ________________________________________________________________           Examples  K                1     ...................................................75.   J                B-1   Sample BASIC Program..............................B-3                J                                                                         ix                   J           ________________________________________________________________           Tables  J                1-1   Key Usage.........................................1-4  J                A-1   Item Codes........................................A-2                                                                           x                                  J                                                                    PrefaceJ           ________________________________________________________________      I              The routines described in this manual allow you to develop a J              new user interface for VAX Notes or to call VAX Notes from an!              application program.   F           ____________________________________________________________             Intended Audience   J              This manual is intended for programmers who will be writing aI              user interface for VAX Notes, or using VAX Notes routines in               other programs.  F           ____________________________________________________________             Document Structure  H              This manual is divided into three parts. Part I consists ofI              nine chapters, Part II is a dictionary of routines, and Part .              III consists of three appendixes.  I              Chapter 1, Introduction, gives general information about the 0              structure of the callable routines.        J                                                                          v                 G              Chapters 2 through 8 provide reference information for the +              callable routines, as follows:   I               o Chapter 2, Notefile Routines, describes the routines used F                 to create and access notefiles. A notefile is either a)                 conference or a Notebook.   F               o Chapter 3, Class Routines, describes the routines usedF                 to access class definitions. A class is a named set ofH                 Notebook entries. An entry is a conference that has been-                 entered in a user's Notebook.   I               o Chapter 4, Entry Routines, describes the routines used to G                 access entry definitions, which store information about 0                 conferences in users' Notebooks.  H               o Chapter 5, Keyword Routines, describes the routines usedD                 to access keywords. Keywords are an aid to the quick;                 retrieval of information from a conference.   H               o Chapter 6, Note Routines, describes the routines used toH                 access a note or set of notes once the notefile has beenH                 opened. A note is a single communication (either a topic,                 or a reply) to a conference.  H               o Chapter 7, Profile Routines, describes the routines usedI                 to access a user's individual information. The profile iso*                 part of a user's Notebook.  H               o Chapter 8, User Routines, describes the routines used to*                 access member information.  G              Chapter 9, VAX Notes Network Protocol, describes the rules_J              that govern the exchange of data between clients and servers.  G              Part II, VAX Notes Routines Dictionary, provides referencecF              information on the callable routines in alphabetic order.  F              Appendix A, Item List Format and Contents, provides addi-B              tional reference information on VAX Notes item codes.             vi    t            D              Appendix B, Sample Program, shows and explains a sampleJ              program that uses the VAX Notes callable routines. The sample8              program is presented in the BASIC language.  E              Appendix C, Messages, lists all error and other messages #              returned by VAX Notes.o  F           ____________________________________________________________             Associated Documents  E              You should have the Guide to VAX Notes (Order number AI-s/              GH98B-TE) available for reference.c  F           ____________________________________________________________             Conventionsl  J              _____________________________________________________________J              Convention_______Meaning_____________________________________  J               . ..            A horizontal ellipsis in a figure or exampleJ                               indicates that not all of the statements are$                               shown.  J              file-            A horizontal ellipsis following a parameter,I              spec, . ..       option, or value in syntax descriptions in- J                               dicates that additional parameters, options,7                               or values can be entered._  H              [expression]     Square brackets indicate that the enclosedI                               item is optional. (Square brackets are not,_H                               however, optional indicators in the syntaxF                               of a directory name in a file specifica-$                               tion.)        J                                                                        vii e  c          J              _____________________________________________________________J              Convention_______Meaning_____________________________________  I              {option|option}  Braces in VAX Notes syntax enclose lists of.I                               alternatives from which you must select one.J              _________________item._______________________________________                                                                               viii 1                           J                                                                     Part IJ                           VAX Notes Callable Routines and Network ProtocolJ           ________________________________________________________________ I  r                                  O                                                                       Chapter 1     O                                                                    Introduction_O                ________________________________________________________________F    O                   This chapter provides general information about the structure.K                   of VAX Notes callable routines. A sample BASIC program in_I                   Appendix B demonstrates the correct use of the callableO                   routines..  K                ____________________________________________________________.  6                1.1  Callable High-Level User Interface  J                   The NOTES$NOTES routine provides high-level callable ac-K                   cess to VAX Notes. If you want the entire interactive VAX M                   Notes utility, call the NOTES$NOTES routine. It invokes the K                   appropriate user interface based on the input device, and K                   processes commands from SYS$INPUT until it returns to the "                   calling program.  K                   Before you can set up a call to NOTES$NOTES, you must de-.J                   termine whether the call should be a procedure call or aK                   function call. Call NOTES$NOTES as a function if you want.K                   it to return a condition value. Otherwise, if you are not M                   interested in the condition value, you can call NOTES$NOTES L                   as a procedure. You should generally call NOTES$NOTES as aO                   function because not checking the condition value can lead to.+                   many undiscovered errors.4                O                                                               Introduction  1-1L .  .                      E                   The format for calling NOTES$NOTES as a function is.  >                         condition_value = NOTES$NOTES ([arg1])  F                   The format for calling NOTES$NOTES as a procedure is  1                         CALL NOTES$NOTES ([arg1])   M                   where arg1 is the address of a VMS string descriptor of theTN                   VAX Notes DCL command line with which to start up VAX Notes.  N                   The argument you supply in the call to NOTES$NOTES must have#                   these attributes:S  O                   _____________________________________________________________OO                   Attribute_Value_________Description__________________________A  N                   VMS       char_string   VMS data structure; string of from 0D                   Usage:                  to 65,535 8-bit characters  M                   Type:     character     VMS data type; symbolic code DSC$K_G1                             string        DTYPE_T   G                   Access:   read only     Data must be read as input by F                                           NOTES$NOTES and not modified  F                   Mechanism:by reference  Address of data is passed toO                   ________________________NOTES$NOTES__________________________S  N                   If you do not supply an argument, no special processing willM                   be done and VAX Notes will start up in the default Notebook_8                   class, as if the command were $ NOTES.  L                   You declare the NOTES$NOTES routine in your program as youK                   would declare any other external routine. The declaration J                   statement will vary depending on whether you are callingL                   NOTES$NOTES as a procedure or function. Refer to your lan-A                   guage reference manual or handbook for details.   L                   Because of the variety of condition values that can be re-N                   turned by NOTES$NOTES, you should check for success or fail-N                   ure only. You can check for an odd number, since all successO                   values are odd. If the condition value returned is not a suc-.L                   cess condition, then the routine did not complete normallyO                   and the information it was supposed to return may be missing,.+                   incomplete, or incorrect.                    1-2  Introduction _  _                      M                   You must create a command procedure for linking as follows:   7                     $ LINK yourfile, SYS$INPUT:/OPTIONS.3                       SYS$LIBRARY:NOTES$SHARE/SHARE.                     $ EXIT  K                ____________________________________________________________8  #                1.2  Notefile FormatE  M                   The VAX Notes notefile format provides good performance and.L                   extensibility. The same format is used for conferences and                   Notebooks.  O                   Your access to the notefile is through the VAX Notes callable_J                   routines, which can provide any and all information in aO                   notefile. Knowledge of the complete notefile format is there-n=                   fore unnecessary, and it is not documented.   N                   The data portion of the records is encoded using Type LengthK                   Values (TLVs). Thus, considerable latitude is allowed for_M                   future extensions. (See Chapter 9 for an explanation of TLV                    code.)  K                ____________________________________________________________.  ,                1.2.1  Use of Keys in Records  M                   Notefiles are implemented as VAX Record Management Services.:                   (VAX RMS) indexed files with three keys:  ?                    o A binary key for unique identifiers (UIDs)T  7                    o A binary key for topic.reply (t.r)   ,                    o A string key (64 bytes)  R                   There are several kinds of records (described in Section 1.2.2),L                   and each makes its own use of the key fields, as indicatedK                   in Table 1-1. All record types have the UID key (which is O                   the primary key for the VAX RMS file), while only some record.L                   types use the topic.reply (t.r) key or the string key. ForO                   the UID key, the type of access (direct access only or direct.;                   and sequential access) is also indicated..  O                                                               Introduction  1-3. .  .                      '                   Table 1-1:  Key Usage.O                   _____________________________________________________________.O                   Record_Type_____UID_____________T.R___________String_Key_____.  A                   Conference      Direct          0             0.                   headers   I                   Member          Direct          0             User name   I                   Access          Direct          0             Node name   A                   Note header     Direct and      T.R           0 ,                                   sequential  A                   Note text       Direct and      T.R           0.,                                   sequential  G                   Keyword         Direct          0             Keyword   J                   Entry           Direct          0             Entry name  J                   Class of        Direct          0             Class name                   conferences.  O                   Profile_________Direct__________0_____________0______________.  M                   String keys are prefixed with a byte to indicate the record.J                   type. For instance, the user-name string key for membersL                   may be prefixed with a 1, keywords with a 2, and so forth.K                   The prefix allows VAX Notes to use VAX RMS to easily read L                   through all member records, in alphabetical order, without9                   also reading keyword and other records..                      UID Key Layout  M                   UIDs in the notefile are allocated from two pools of avail-TO                   able UIDs. One pool provides sequentially increasing UIDs forTL                   note header records, while the other provides UIDs for allO                   other record types. Having two pools of UIDs makes the map ofYO                   seen/unseen notes more succinct, by collapsing ranges of con-.M                   secutive note UIDs, and improves performance by segregating.?                   the note headers from the other record types.T                       1-4  Introduction                           <                   The 32-bit UIDs have the following format:  W                          00yy yyyy yyyy yyyy yyyy yyyy yyyy yyyy  Miscellaneous recordsE]                          01zz zzzz wwww wwww wwww wwww wwww wwww  Reserved (z not equal to 0).T                          0100 0000 xxxx xxxx xxxx xxxx xxxx xxxx  Note header recordR                          1xxx xxxx xxxx xxxx xxxx xxxx xsss ssss  Note text record  N                   The high bit is on for note text records, which also have 24L                   bits of UID, and 7 low bits to indicate a note text recordJ                   number (recall that each VAX RMS record is 2K bytes, andN                   can hold several text records). If the note exceeds 128 noteN                   text records (that is, more than 256K bytes), another UID isM                   allocated for the continuation. The high bit is off for all.                    other records.  K                _____________________________________________________________  "                1.2.2  Record Types  A                   There are a number of record types, as follows:_  +                   Conference Header Records   O                   Conference header records contain information that applies to N                   the entire notefile. Each notefile has two conference headerL                   records. One conference header record stores the values ofO                   the highest used UID number and highest used note number, and.M                   is used to sequentially allocate new UIDs and note numbers. K                   In addition, this conference header record stores various_J                   structural attributes, such as a notefile format number,K                   whether this conference is open or closed, whether anyone1M                   can create keywords, and so on. The other conference header2O                   record holds more "visible" information, such as the notefile ?                   title, notice of the day, and moderator name.                       Member Records  L                   Member records authorize users to participate in a privateO                   conference. The moderator must give the user authorization to N                   join the private conference. Each record has a unique memberL                   name (without a node name) as the string key, and containsM                   a list of the member's node::user-names. These records alsoTO                   indicate privileges such as whether the member can create newnL                   keywords or moderate the conference, and thus are used for8                   public conferences as well as private.  O                                                               Introduction  1-5i i  e                                          Access Records  M                   An access record has a node name as the string key and con-iN                   tains a list of the user names on that node that are membersO                   of the conference. Each user name entry points to the member- .                   ship record for that member.  %                   Note Header Records   N                   A note header record provides all the structural informationN                   about the note. It contains everything except the note text;M                   that is, the author name, title, creation date/time, numbernO                   of replies, list of keywords, whether replies can be written, K                   and whether the note is hidden. The UID of the first note N                   text record for this note is calculated as a simple functionK                   of the UID for the note header record, as is explained ine                    Section 1.2.1.  #                   Note Text Recordsd  K                   Note text records contain the body of a note. The text is O                   stored as a constructor TLV, containing an ordered collection K                   of text TLVs for the lines of text in the note, with TLVs K                   allowed to cross record boundaries. Each note text record /                   also contains the t.r number.   !                   Keyword Recordss  O                   A keyword record contains the keyword and a list of the noteseI                   to which the keyword refers. For each note in the list,aJ                   the topic.reply (t.r) number and the note UID are storedO                   in the keyword record, and that note is marked as having this                    keyword.  M                   The keyword-record mechanism also supports markers. Markers K                   are created by an individual for his or her use only, and I                   are stored in the user's Notebook; a marker refers to aeL                   single note in any conference, not necessarily the currentK                   conference. If the keyword-record mechanism is used for asO                   marker instead of a keyword, the reference includes the entryeK                   name for the conference as well as the t.r number and then                   note UID.                        1-6  Introduction s  e                                         Entry Records   N                   Entry records store entries in a user's Notebook. The infor-7                   mation stored includes the following:   #                    o The entry nameS  +                    o The file specificatione  H                    o The highest note UID number entered in the notefile  +                    o The last revision date_  (                    o The seen/unseen map  K                    o The classes of conferences to which this entry belongsn  .                    o The total number of notes  '                    o The moderator name_  K                    o The Distributed Name Service (DNS) object name, if any   G                   Most entry records also contain a user-defined field.   .                   Class of Conferences Records  L                   A class record groups several entries into a single class;J                   it contains the class name and a list of the entry names)                   belonging to the class.   !                   Profile Records   N                   A profile record is stored in each user's personal Notebook.N                   A profile record stores and maintains the following informa-                   tion:s  ;                    o The user's editor of choice and accessr  1                    o The default conference class   5                    o The user's personal name, if any   )                    o Any PRINT qualifiers   N                    o Whether a directory of notes or the first unseen note, orF                      neither, is displayed when a conference is opened  ?                    o Whether the profile settings are temporary   O                                                               Introduction  1-7_ _  _                    K                _____________________________________________________________  '                1.3  The Seen/Unseen Mapp  J                   VAX Notes maintains a seen/unseen map to determine whichN                   topics and replies have been read by a particular user. ThisM                   map describes ranges of notes that have been seen. Thus, to K                   determine the next unseen note, you need only consult the "                   seen/unseen map.  I                   The seen/unseen map consists of two sections. The first L                   section is a list of ranges of unique note-IDs, describingM                   the notes that have been seen by the user. These ranges are M                   described by a pair of longwords, denoting the low and high 0                   unique note-IDs for the range.  I                   The second section of the map describes ranges of notes_J                   in t.r format. For instance, 2.3-2.8 describes the rangeG                   of replies from reply 3 to reply 8 of topic 2. As the J                   NOTES$NOTE_GET routine retrieves notes described in thisN                   section of the map, it can remove the note from this sectionM                   and add the unique note-ID to the first section of the map._  M                   The purpose of the second section of the map is to optimize B                   performance during the setting of notes as seen.  K                ____________________________________________________________   %                1.4  Callable Routines   M                   Several different levels of callable routines are provided.eN                   High-level routines call VAX Notes as a complete user inter-M                   face. Low-level routines provide complete access to the VAX K                   Notes database, allowing the construction of a variety of M                   user interfaces. The callable routines are all synchronous.   O                   VAX Notes uses many of the same file access routines for bothtM                   conferences and Notebooks, although, to a user, conferenceseN                   and Notebooks appear as distinct kinds of files. This avoidsN                   having duplication of code, since many of the conference andM                   Notebook features can be performed with the same functions.y  3                                                NOTE   J                       The routines transparently access remote conferencesK                       by DECnet without additional work on the user's part.u                   1-8  Introduction o  t                    K                ____________________________________________________________c  &                1.4.1  Calling Sequence  L                   The VAX Notes routines all have the same calling sequence.>                   The calling sequence has the following form:  M                         STATUS = NOTES$ROUTINE ( CONTEXT, INP-ITEM-LIST, OUT-l                ITEM-LIST )  ,                   In the previous statement:  O                    o STATUS is an unsigned longword status code returned by theO                      routine.a  H                    o NOTES$ROUTINE is the name of the VAX Notes routine.  D                    o CONTEXT is the address of an unsigned longword.  K                      The context longword stores needed information betweeneL                      calls to the VAX Notes routines. To initialize the con-J                      text, the longword should be zeroed and passed to theN                      NOTES$xxx_BEGIN routine; this routine stores some contextL                      information (a nonzero value) in the longword, and thisL                      context can then be passed to other VAX Notes routines.L                      When the information is no longer needed, NOTES$xxx_ENDK                      can be called to delete the context, release resourcestK                      associated with the context information, and reset the .                      context longword to zero.  O                    o INP-ITEM-LIST is the address of an item list. (See Part II D                      for a description of the format of item lists.)  M                      The input item list and the context longword provide alle=                      the inputs needed by the called routine.e  L                    o OUT-ITEM-LIST is the address of an item list into whichM                      the routine writes its results or the requested informa-E                      tion.  N                   Item lists use an item code of 0 to terminate the item list,O                   -1 (NOTES$K_CHAIN) to indicate chaining to another item list,nL                   and -2 (NOTES$K_NOOP) to indicate a no-operation (ignored)                   item code.  L                   Items that turn some attribute on or off (such as NOTES$K_O                   USER_MODERATE) with the values 0 or 1 can also take the value M                   -1, to indicate that the attribute should remain unchanged. M                   This value is passed in the longword to which the item code =                   ITM$L_BUFADR field of the item list points.   O                                                               Introduction  1-9_ _                         L                   See Appendix A for a complete description of the item list                   contents.   K                ____________________________________________________________   >                1.4.2  Error Reporting by the Callable Routines  K                   The callable VAX Notes routines signal errors by default;vM                   the NOTES$K_NOSIGNAL item code can be specified on the rou-cM                   tine calls to override the default signaling mechanism, andi1                   instead return an error status.r  I                   The only status codes that are never signaled, but onlyLO                   returned, are NOTES$_NORMAL, NOTES$_MORE_INFO, and NOTES$_NO_i                   MORE_xxx.p  L                   The VAX Notes routines signal a fatal (F-level) diagnosticL                   for errors that normally terminate the image. For example,M                   access violations, corrupted in-memory data structures, andeL                   some programming errors signal a fatal error. Note that F-J                   level diagnostics are signaled regardless of whether the;                   NOTES$K_NOSIGNAL item code was specified.   K                   The VAX Notes routines signal an error (E-level) diagnos- L                   tic for most errors. E-level diagnostics indicate that theL                   requested operation cannot be completed. VAX Notes reportsO                   E-level diagnostics by signaling (unless NOTES$K_NOSIGNAL washL                   specified), and then returning that E-level status code to                   the caller.   M                   A warning (W-level) diagnostic indicates that the operationrI                   may not yield completely correct results, and should be '                   reported to the user.   O                   Informational (I-level) messages contain parenthetical infor-                    mation.   J                   After signaling a W-level or I-level diagnostic, the VAXL                   Notes routine continues processing. When it eventually re-K                   turns to the caller, the return status is the same as the ,                   worst diagnostic signaled.  M                   Note that while VAX Notes has W-level status codes (NOTES$_eD                   NO_MORE_xxx), these are not signaled by VAX Notes.  !                1-10  Introduction.                         K                ____________________________________________________________a  ,                1.4.3  Continuable Operations  L                   Many of the operations are continuable (in particular, theO                   NOTES$xxx_GET, NOTES$xxx_GET_yyy, and the NOTES$NOTE_ADD_TEXT N                   routines). A continuable operation returns a success status,N                   and further information is available (or can be specified inN                   the case of NOTES$NOTE_ADD_TEXT) by calling the same routineL                   again (with the same context) and specifiying the NOTES$K_<                   CONTINUE item code in the input item list.  M                   The NOTES$K_CONTINUE item code causes the routine to ignore L                   all other item codes (except NOTES$K_NOSIGNAL), and eitherO                   returns more information, or just returns a warning status tolL                   indicate no more information (for example, NOTES$_NO_MORE_                   TEXT).  N                   When a stream of information is available, it remains avail-O                   able until, or unless, the end of the information is reached,eG                   or a different request is made with the same context.   K                ____________________________________________________________n  1                1.4.4  Passing Context Informationc  J                   The following diagram shows the relationship between theK                   routines and the context information passed between them.   J                   The diagram includes some of the note, keyword, and userN                   routines. The relationships shown, however, apply in general"                   to all routines.  K                   Each box in the diagram represents the following informa-w                   tion:[1]              "                ___________________N              [1] The diagram shows only the context item in each case.  A call  G                  would include additional input items and output items.h  O                                                              Introduction  1-11o I  a                      .                                   +----------+C                                   | routine  |[ context parameter ] C                                   | name     |[ input item list   ] C                                   |          |[ output item list  ]s.                                   +----------+    F                   The following abbreviations are used in the diagram:  &                   F   Notefile context  "                   N   Note context  %                   K   Keyword context   "                   U   User context                                                          !                1-12  Introductionr e  a                      C                                                        +----------+cH                  1                                     | NOTEFILE |[ F ]S                                  --------------------  | BEGIN    |[   ]  ---------eS                                  |                     |          |[   ]          |aS                                  |                     +----------+               | S                                  |                             |                  |oS                                  |                             |                  |yS                                  V                             V                  V Z                             +----------+                  +----------+        +----------+_                             | NOTE     |[ N ]             | KEYWORD  |[ K ]   | USER     |[ U ] e                  2          | BEGIN    |[ F ]             | BEGIN    |[ F ]   | BEGIN    |[ F ]   ... _                             |          |[   ]             |          |[   ]   |          |[   ].Z                             +----------+                  +----------+        +----------+T                                  |                             |                   |T                                  V                             V                   VZ                             +----------+                  +----------+        +----------+_                             | NOTE     |[ N ]             | KEYWORD  |[ K ]   | USER     |[ U ] _                  3          | GET      |[   ]             | GET      |[   ]   | GET      |[   ]c_                             |          |[   ]             |          |[   ]   |          |[   ] Z                             +----------+                  +----------+        +----------+T                             |          |                        |                  |T                             V          V                        V                  |T                   +----------+        +----------+        +----------+             |T                   | NOTE     |[ N ]   | NOTE     |[ N ]   | KEYWORD  |[ K ]        |T                  4| GET      |[   ]   | GET      |[   ]   | GET      |[   ]        |T                   | TEXT     |[   ]   | KEYWORD  |[   ]   | NOTE     |[   ]        |T                   +----------+        +----------+        +----------+             |T                             |          |                       |                   |T                             |          |                       |                   |T                             V          V                       V                   VZ                             +----------+                  +----------+        +----------+_                             | NOTE     |[ N ]             | KEYWORD  |[ K ]   | USER     |[ U ] _                  5          | END      |[   ]             | END      |[   ]   | END      |[   ]r_                             |          |[   ]             |          |[   ]   |          |[   ]rZ                             +----------+                  +----------+        +----------+T                                  |                         |                       |T                                  |                         |                       |T                                  |                         V                       |T                                  |              +----------+                       |T                                  --------->     |NOTEFILE  |[ F ]    <--------------A                                                 |END       |[   ]yA                  6                              |          |[   ]e<                                                 +----------+    O                                                              Introduction  1-13  w                             E                    1 The notefile context (F) is created by a call to *                      NOTES$NOTEFILE_BEGIN.  L                    2 This context must be passed (in the input item list) toL                      NOTES$NOTE_BEGIN, which creates a note context (N), forF                      note-level access to information in the notefile.  J                    3 Then NOTES$NOTE_GET can be called to get a range (forM                      example, a sequence or stream) of notes. An initial call L                      is made to NOTES$NOTE_GET to specify the range of notesM                      to get; this sets up the stream, and returns information N                      about the first note in the stream (for example, the name$                      of its author).  N                    4 Calls to NOTES$NOTE_GET_TEXT can now be made. These callsL                      return text records for this note (or return the statusN                      NOTES$_NO_MORE_TEXT). Then another call to NOTES$NOTE_GETO                      (with NOTES$K_CONTINUE) returns information about the nexteO                      note in the stream. This can continue until NOTES$NOTE_GEToK                      returns the status NOTES$_NO_MORE_NOTES, or until thateO                      same note context is used to request a new range of notes. L                      Calls to NOTES$NOTE_GET_KEYWORD can be made in the sameK                      way; and they can be made simultaneously with calls ton)                      NOTES$NOTE_GET_TEXT.I  M                    5 NOTES$NOTE_END is called next, by NOTES$NOTE_GET_TEXT oru,                      NOTES$NOTE_GET_KEYWORD.  N                    6 NOTES$NOTEFILE_END is the final call in this or any other'                      sequence of calls.   M                   Similarly, NOTES$NOTEFILE_BEGIN passes the notefile context J                   to NOTES$KEYWORD_BEGIN, which creates a keyword context;N                   NOTES$KEYWORD_GET can return a stream of keyword informationK                   (in response, for example, to "Notes> DIR/KEYWORD=FAR*"), M                   and NOTES$KEYWORD_GET_NOTE can return the sequence of notes &                   having that keyword.  S                   The third path shown in the diagram proceeds from NOTES$NOTEFILE_oN                   BEGIN through the user routines. The ellipses in the diagramK                   represent the other categories of routines (class, entry,lF                   notefile, and profile), which work in a similar way.  N                   Note that any of the calling paths can be occurring simulta-J                   neously, and any of them can be repeated simultaneously.  !                1-14  Introduction                            O                   The sample BASIC program presented in Appendix B shows how to,O                   order calls correctly to VAX Notes routines in an application8                   program.                                                                                    O                                                              Introduction  1-15  n  d                                  O                                                                       Chapter 2e    O                                                               Notefile RoutineseO                ________________________________________________________________     O                   This chapter describes the routines used to create and accesse                   notefiles.  O                   The item codes allowed in an output item list (OUT-ITEM-LIST)nM                   are described first, because this list is common to most of /                   the routines in this chapter.t  O                   Each notefile routine is described in a separate section withoK                   its own list of allowed input item codes (INP-ITEM-LIST).s  K                   The following abbreviations are used in the list of input,                   item codes:e  M                   R   Required  This item code must be specified in the call.s  L                   O   Optional  This item code may be specified in the call.  L                   S   Selection This item code specifies which class, entry,K                                 keyword, or note is being referenced by the %                                 call.e  #                   Output Item Codes   O                   The following item codes can be specified in an OUT-ITEM-LISTd3                   for the NOTES$NOTEFILE_xxx calls._  O                   _____________________________________________________________ O                   Item_Code____________________Description_____________________l  K                   NOTES$K_ENTRY_OBJECT_SPEC    File specification string to L                                                which the DNS object name was9                                                translatedp  O                                                          Notefile Routines  2-1d e  n                    O                   _____________________________________________________________AO                   Item_Code____________________Description_____________________n  N                   NOTES$K_NOTEFILE_CREATE_     Quadword date/time of the note-<                   TIME                         file creation  I                   NOTES$K_NOTEFILE_ENTRYTOTAL  Total number of topics andd6                                                replies  O                   NOTES$K_NOTEFILE_FORMAT      Longword indicating the notefilez5                                                format   L                   NOTES$K_NOTEFILE_HIGH_UID    Longword of highest used note2                                                UID  M                   NOTES$K_NOTEFILE_LASTREV     Quadword date/time of the lastt7                                                revisiona  D                   NOTES$K_NOTEFILE_MODERATOR   Moderator name string  <                   NOTES$K_NOTEFILE_NOTICE      Notice string  O                   NOTES$K_NOTEFILE_NUMNOTES    Longword note number of the lasts4                                                topic  N                   NOTES$K_NOTEFILE_REPLY_ONLY  Conference in which only autho-L                                                rized users may enter topics,=                                                indicated by 1u  K                   NOTES$K_NOTEFILE_RESTRICTED  Private conference, in which M                                                only authorized users may par- G                                                ticipate, indicated by 1   K                   NOTES$K_NOTEFILE_RESULT_     Resultant file specification 5                   SPEC                         stringo  ;                   NOTES$K_NOTEFILE_TITLE       Title stringR  O                   NOTES$K_NOTEFILE_USER_AREA   String of user-programmable datao  O                   NOTES$K_NOTEFILE_WRITELOCK   Notefile writelocked against neweD                                                notes, indicated by 1        %                2-2  Notefile Routines                          O                   _____________________________________________________________ O                   Item_Code____________________Description_____________________   L                   NOTES$K_SEEN_MAP             String indicating which notes=                                                have been seent  J                   NOTES$K_SERVER_MAX_ITEM      Longword value of the high-L                                                est item code that the server7                                                supportsc  O                   NOTES$K_USER_CREATE_KEYWORD  Conference in which any user mayeN                                                create keywords, indicated by 1  O                   NOTES$K_USER_MODERATE        Conference in which any user mayFO                   _____________________________moderate,_indicated_by_1________e    K                ____________________________________________________________   (                2.1  NOTES$NOTEFILE_BEGIN  J                   Initiates access to a notefile. This routine creates theK                   notefile if so directed, and opens the file for access by-I                   other routines. It creates and initializes the notefileeI                   context for later calls to NOTES$NOTEFILE_xxx routines.   "                   Input Item Codes  M                   O   NOTES$K_ENTRY_OBJECT_NAME    DNS object name string forn<                                                    the entry  K                   O   NOTES$K_NOSIGNAL             Return on errors; do not 9                                                    signal   F                   O   NOTES$K_NOTEFILE_CREATE      Create the notefile  M                   O   NOTES$K_NOTEFILE_DEFAULT_    Default file specificationt9                       NAME                         stringe  C                   R   NOTES$K_NOTEFILE_FILE_NAME   File name strings  M                   O   NOTES$K_NOTEFILE_MODERATE    Moderator privilege turnediI                                                    on = 1, turned off = 0-      O                                                          Notefile Routines  2-3i    n                        H                   O   NOTES$K_NOTEFILE_MODERATOR   Moderator name string  M                   O   NOTES$K_NOTEFILE_RELATED_    Related file specification 9                       NAME                         string   K                   O   NOTES$K_NOTEFILE_REPLY_ONLY  Conference in which onlyIM                                                    authorized users may enter_I                                                    topics, indicated by 1   J                   O   NOTES$K_SEEN_MAP             String indicating whichG                                                    notes have been seen   K                   O   NOTES$K_USER_CREATE_KEYWORD  Any user can create key-rH                                                    words, indicated by 1  J                   The following item codes are allowed as input items whenO                   NOTES$K_NOTEFILE_CREATE is passed to the NOTES$NOTEFILE_BEGIN                    routine.  @                   O   NOTES$K_NOTEFILE_NOTICE      Notice string  O                   O   NOTES$K_NOTEFILE_RESTRICTED  Private conference, in which L                                                    only authorized users canN                                                    participate, indicated by 1  ?                   O   NOTES$K_NOTEFILE_TITLE       Title string_  N                   O   NOTES$K_NOTEFILE_USER_AREA   String of user programmable7                                                    data   O                   O   NOTES$K_NOTEFILE_WRITELOCK   Notefile writelocked againsttL                                                    new notes, indicated by 1  O                   O   NOTES$K_USER_MODERATE        Used in creating a Notebook, A                                                    indicated by 1e                  %                2-4  Notefile Routinese n  t                    K                ____________________________________________________________y  &                2.2  NOTES$NOTEFILE_END  J                   Deletes or deallocates notefile context. This routine isL                   used to terminate access to a notefile. All dynamic memoryN                   allocated by the NOTES$ routines when accessing the notefileM                   (including CLASS, ENTRY, KEYWORD, PROFILE, and USER access)s!                   is deallocated.d  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signalt  K                ____________________________________________________________   +                2.3  NOTES$NOTEFILE_GET_INFO   9                   Obtains information about the notefile.   "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   K                ____________________________________________________________n  )                2.4  NOTES$NOTEFILE_MODIFY   L                   Updates or changes notefile-level information, such as the:                   title, notice of the day, and moderator.  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL             Return on errors; do not 9                                                    signal   O                   O   NOTES$K_NOTE_BEFORE_TIME     Mark all notes before speci- I                                                    fied date-time as seen   I                   O   NOTES$K_NOTE_MARK_SEEN       Mark all notes as seen   N                   O   NOTES$K_NOTE_SINCE_TIME      Mark all notes after speci-I                                                    fied date-time as seen       O                                                          Notefile Routines  2-5|                             M                   O   NOTES$K_NOTEFILE_MODERATE    Moderator privilege turned I                                                    on = 1, turned off = 0   H                   O   NOTES$K_NOTEFILE_MODERATOR   Moderator name string  @                   O   NOTES$K_NOTEFILE_NOTICE      Notice string  K                   O   NOTES$K_NOTEFILE_REPLY_ONLY  Conference in which onlyIM                                                    authorized users may enter I                                                    topics, indicated by 1-  L                   O   NOTES$K_NOTEFILE_RESTRICTED  Only authorized users mayN                                                    participate, indicated by 1  ?                   O   NOTES$K_NOTEFILE_TITLE       Title string   N                   O   NOTES$K_NOTEFILE_USER_AREA   String of user-programmable7                                                    data   O                   O   NOTES$K_NOTEFILE_WRITELOCK   Notefile writelocked against L                                                    new notes, indicated by 1  J                   O   NOTES$K_SEEN_MAP             String indicating whichG                                                    notes have been seen+  K                   O   NOTES$K_USER_CREATE_KEYWORD  Any user may create key- H                                                    words, indicated by 1  K                ____________________________________________________________-  -                2.5  NOTES$NOTEFILE_LIST_BEGIN   O                   Initiates the process of collecting notefile names, for a di- N                   rectory listing of conferences. You call the NOTES$NOTEFILE_I                   LIST_BEGIN routine with the file specification, default H                   file specification, and related file specification. ItI                   performs the initialization. After a successful call to N                   NOTES$NOTEFILE_LIST_BEGIN you call NOTES$NOTEFILE_LIST until4                   the status NOTES$_NMF is returned.          %                2-6  Notefile Routines                            K                   For server performance considerations, in the output item-I                   list for the NOTES$NOTEFILE_LIST_BEGIN routine you must G                   specify all the items that you specify in the call to J                   NOTES$NOTEFILE_LIST. However, the items are not returnedG                   on the call to the NOTES$NOTEFILE_LIST_BEGIN routine.r  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   H                   O   NOTES$K_NOTEFILE_     Default notefile name string"                       DEFAULT_NAME  <                   R   NOTES$K_NOTEFILE_     File name string                       FILE_NAME   H                   O   NOTES$K_NOTEFILE_     Related notefile name string"                       RELATED_NAME  K                ____________________________________________________________-  '                2.6  NOTES$NOTEFILE_LIST   L                   Collects information on a selected group of notefiles. TheI                   NOTES$NOTEFILE_LIST_BEGIN routine must be called before+L                   the NOTES$NOTEFILE_LIST routine. You specify the filenamesK                   in the NOTES$NOTEFILE_LIST_BEGIN routine, and collect the N                   information on successive calls to NOTES$NOTEFILE_LIST until4                   the status NOTES$_NMF is returned.  T                   Any output item codes specified in the call to the NOTES$NOTEFILE_H                   LIST routine must also be specified in the call to theL                   NOTES$NOTEFILE_LIST_BEGIN routine for correct operation on0                   remote conference directories.  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signaln              O                                                          Notefile Routines  2-7                                        O                                                                       Chapter 3     O                                                                  Class Routines O                ________________________________________________________________T    J                   This chapter describes the routines used to access classI                   definitions. A class is a named set of Notebook entries =                   (conferences entered in a user's Notebook).   O                   The item codes allowed in an output item list (OUT-ITEM-LIST) M                   are described first, because this list is common to most of /                   the routines in this chapter.c  O                   Each notefile routine is described in a separate section withlK                   its own list of allowed input item codes (INP-ITEM-LIST).   K                   The following abbreviations are used in the list of input                    item codes:   M                   R   Required  This item code must be specified in the call.   L                   O   Optional  This item code may be specified in the call.  L                   S   Selection This item code specifies which class, entry,K                                 keyword, or note is being referenced by thea%                                 call.n  #                   Output Item Codesx  O                   The following item code can be specified in the OUT-ITEM-LISTE0                   for the NOTES$CLASS_xxx calls.  O                   _____________________________________________________________rO                   Item_Code___________Description______________________________T  7                   NOTES$K_CLASS_NAME  Class name string   O                                                             Class Routines  3-1l    c                    O                   _____________________________________________________________uO                   Item_Code___________Description______________________________   F                   NOTES$K_CLASS_      String of user-programmable dataO                   USER_AREA____________________________________________________   O                   The following item code can be specified in the OUT-ITEM-LIST 6                   for the NOTES$CLASS_GET_ENTRY calls.  O                   _____________________________________________________________ O                   Item_Code___________Description______________________________   O                   NOTES$K_ENTRY_NAME__Entry_name_string________________________   K                ____________________________________________________________R  %                3.1  NOTES$CLASS_BEGIN_  J                   Creates and initializes class context for later calls to+                   NOTES$CLASS_xxx routines.a  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal-  I                   R   NOTES$K_NOTEFILE_     Context longword for notefile                        CONTEXT   K                ____________________________________________________________b  #                3.2  NOTES$CLASS_END   7                   Deletes or deallocates class context.M  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signals  K                ____________________________________________________________a  #                3.3  NOTES$CLASS_ADD   M                   Creates a class record if the entry_name is missing. If thehH                   entry_name is specified, adds that entry to the class.    "                3-2  Class Routines h                         "                   Input Item Codes  =                   S,R NOTES$K_CLASS_NAME    Class name strings  L                   O   NOTES$K_CLASS_USER_   String of user-programmable data                       AREA  =                   O   NOTES$K_ENTRY_NAME    Entry name string_  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal_  K                ____________________________________________________________g  &                3.4  NOTES$CLASS_DELETE  O                   Deletes the class record if the entry_name is missing. If the M                   entry_name is specified, deletes that entry from the class.t  "                   Input Item Codes  =                   S,R NOTES$K_CLASS_NAME    Class name string_  O                   O   NOTES$K_DELIF0        Delete class if empty, indicated byi-                                             1O  =                   O   NOTES$K_ENTRY_NAME    Entry name string   K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signalE  K                ____________________________________________________________   #                3.5  NOTES$CLASS_GET   L                   Gets information about a class or, if NOTES$K_CONTINUE was,                   specified, the next class.  "                   Input Item Codes  M                   O   NOTES$K_CLASS_HINT_   For remote Notebooks, "hint" that I                       GET_ENTRY             entries for the class will bea2                                             coming        O                                                             Class Routines  3-3m t  g                        K                   S,R NOTES$K_CLASS_NAME    Class name string (allows wild-E2                                             cards)  F                   O   NOTES$K_CONTINUE      Keep returning information  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   K                ____________________________________________________________   )                3.6  NOTES$CLASS_GET_ENTRY   J                   Gets information about entries belonging to a class (theM                   class specified by the most recent NOTES$CLASS_GET call for                     this context).  "                   Input Item Codes  F                   O   NOTES$K_CONTINUE      Keep returning information  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   K                ____________________________________________________________E  &                3.7  NOTES$CLASS_MODIFY  :                   Modifies information stored for a class.  "                   Input Item Codes  =                   S,R NOTES$K_CLASS_NAME    Class name string   J                   O   NOTES$K_CLASS_NEW_    New class name string (rename)                       NAME  L                   O   NOTES$K_CLASS_USER_   String of user-programmable data                       AREA  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signali            "                3-4  Class Routines                                       O                                                                       Chapter 4     O                                                                  Entry Routines O                ________________________________________________________________E    J                   This chapter describes the routines used to access entryJ                   definitions. Entries are used to store information about                   notefiles.  O                   The item codes allowed in an output item list (OUT-ITEM-LIST)tM                   are described first, because this list is common to most of_/                   the routines in this chapter.O  O                   Each notefile routine is described in a separate section withtK                   its own list of allowed input item codes (INP-ITEM-LIST).e  K                   The following abbreviations are used in the list of inputl                   item codes:o  M                   R   Required  This item code must be specified in the call.d  L                   O   Optional  This item code may be specified in the call.  L                   S   Selection This item code specifies which class, entry,K                                 keyword, or note is being referenced by the %                                 call.   #                   Output Item Codes$  L                   The following item codes may be specified in the OUT-ITEM-5                   LIST for the NOTES$ENTRY_xxx calls.             O                                                             Entry Routines  4-1L A                       O                   _____________________________________________________________ O                   Item_Code____________________Description_____________________   I                   NOTES$K_ENTRY_LAST_STATUS    Longword value of the last-K                                                update for the entry (updateD?                                                status longword)O  @                   NOTES$K_ENTRY_NAME           Entry name string  M                   NOTES$K_ENTRY_OBJECT_NAME    DNS object name string for theR4                                                entry  N                   NOTES$K_ENTRY_UNSEEN_EST     Longword number of unseen notes  O                   NOTES$K_ENTRY_USER_AREA      String of user-programmable dataO  K                   NOTES$K_NOTEFILE_DEFAULT_    Default notefile name string                    NAME  N                   NOTES$K_NOTEFILE_ENTRYTOTAL  Longword number of notes in the4                                                entry  ?                   NOTES$K_NOTEFILE_FILE_NAME   File name stringl  L                   NOTES$K_NOTEFILE_HIGH_UID    Longword of highest used note2                                                UID  J                   NOTES$K_NOTEFILE_LASTREV     Quadword date/time that theH                                                notefile was last revised  D                   NOTES$K_NOTEFILE_MODERATOR   Moderator name string  <                   NOTES$K_NOTEFILE_NOTICE      Notice string  O                   NOTES$K_NOTEFILE_NUMNOTES    Longword note number of the lastO4                                                topic  K                   NOTES$K_NOTEFILE_RELATED_    Related notefile name string                    NAME  ;                   NOTES$K_NOTEFILE_TITLE       Title stringO          "                4-2  Entry Routines                         O                   _____________________________________________________________RO                   Item_Code____________________Description_____________________   L                   NOTES$K_SEEN_MAP             String indicating which notesO                   _____________________________have_been_seen___________________  O                   The following item code is specified in the OUT-ITEM-LIST for 1                   the NOTES$ENTRY_GET_CLASS call.i  O                   _____________________________________________________________ O                   Item_Code____________________Description_____________________e  O                   NOTES$K_CLASS_NAME___________Class_name_string_______________s  O                   The following item code is specified in the OUT-ITEM-LIST for 3                   the NOTES$ENTRY_GET_KEYWORD call.s  O                   ______________________________________________________________O                   Item_Code____________________Description_____________________   O                   NOTES$K_KEYWORD_NAME_________Keyword_name_string_____________   K                ____________________________________________________________   %                4.1  NOTES$ENTRY_BEGIN_  J                   Creates and initializes entry context for later calls to+                   NOTES$ENTRY_xxx routines.f  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signaln  I                   R   NOTES$K_NOTEFILE_     Context longword for notefilen                       CONTEXT   K                ____________________________________________________________O  #                4.2  NOTES$ENTRY_ENDe  7                   Deletes or deallocates entry context.   "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   O                                                             Entry Routines  4-3                          K                ____________________________________________________________   #                4.3  NOTES$ENTRY_ADD|  7                   Adds an entry to the specified class.E  "                   Input Item Codes  F                   O     NOTES$K_CLASS_NAME           Class name string  J                   O     NOTES$K_ENTRY_LAST_STATUS    Longword value of theN                                                      last update for the entryM                                                      (update status longword)l  F                   S,R   NOTES$K_ENTRY_NAME           Entry name string  O                   O     NOTES$K_ENTRY_OBJECT_NAME    DNS object name string for->                                                      the entry  P                   O     NOTES$K_ENTRY_USER_AREA      String of user-programmable9                                                      dataE  M                   O     NOTES$K_NOSIGNAL             Return on errors; do not ;                                                      signal   K                   O     NOTES$K_NOTE_BEFORE_TIME     Mark notes before this A                                                      time as seen   O                   O     NOTES$K_NOTE_SINCE_TIME      Mark notes after this time <                                                      as seen  J                   O     NOTES$K_NOTEFILE_DEFAULT_    Default notefile name;                         NAME                         string   M                   O     NOTES$K_NOTEFILE_ENTRYTOTAL  Longword number of notes_A                                                      in the entry2  E                   R     NOTES$K_NOTEFILE_FILE_NAME   File name string   M                   O     NOTES$K_NOTEFILE_HIGH_UID    Longword of highest usedn=                                                      note UIDB          "                4-4  Entry Routines                             L                   O     NOTES$K_NOTEFILE_LASTREV     Quadword date/time thatJ                                                      the notefile was last<                                                      revised  J                   O     NOTES$K_NOTEFILE_MODERATOR   Moderator name string  B                   O     NOTES$K_NOTEFILE_NOTICE      Notice string  L                   O     NOTES$K_NOTEFILE_NUMNOTES    Longword note number ofC                                                      the last topicc  J                   O     NOTES$K_NOTEFILE_RELATED_    Related notefile name;                         NAME                         string   A                   O     NOTES$K_NOTEFILE_TITLE       Title string   L                   O     NOTES$K_SEEN_MAP             String indicating whichI                                                      notes have been seen   K                ____________________________________________________________   &                4.4  NOTES$ENTRY_DELETE  +                   Deletes the entry record.   "                   Input Item Codes  ?                   O     NOTES$K_CLASS_NAME    Class name string   N                   O     NOTES$K_DELIF0        Delete class if empty, indicated2                                               by 1  ?                   S,R   NOTES$K_ENTRY_NAME    Entry name stringe  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal   K                ____________________________________________________________   #                4.5  NOTES$ENTRY_GETB  =                   Gets the information from the entry record.s      O                                                             Entry Routines  4-5s t  e                      "                   Input Item Codes  ?                   O     NOTES$K_CLASS_NAME    Class name strings  H                   O     NOTES$K_CONTINUE      Keep returning information  I                   O     NOTES$K_ENTRY_HINT_   Value of 1 indicates that a K                         GET_CLASS             NOTES$ENTRY_GET_CLASS will beOO                                               performed next (to improve server O                                               performance). This item code must L                                               be specified if a NOTES$ENTRY_J                                               GET_CLASS will be done next;M                                               otherwise, the NOTES$ENTRY_GET__O                                               CLASS will not work correctly fors>                                               remote notefiles  I                   O     NOTES$K_ENTRY_HINT_   Value of 1 indicates that aeK                         GET_KEYWORD           NOTES$ENTRY_GET_CLASS will belO                                               performed next (to improve serversO                                               performance). This item code mustsL                                               be specified if a NOTES$ENTRY_J                                               GET_CLASS will be done next;M                                               otherwise, the NOTES$ENTRY_GET_ O                                               CLASS will not work correctly forr>                                               remote notefiles  ?                   S,R   NOTES$K_ENTRY_NAME    Entry name string   M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal   K                ____________________________________________________________   )                4.6  NOTES$ENTRY_GET_CLASS   O                   Gets information about the classes to which the entry belongseN                   (the entry specified by the most recent NOTES$ENTRY_GET call$                   for this context).                "                4-6  Entry Routines                           "                   Input Item Codes  H                   O     NOTES$K_CONTINUE      Keep returning information  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal   K                _____________________________________________________________  +                4.7  NOTES$ENTRY_GET_KEYWORDm  N                   Gets information about keywords (or markers) for this entry.  "                   Input Item Codes  H                   O     NOTES$K_CONTINUE      Keep returning information  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signali  K                ____________________________________________________________   &                4.8  NOTES$ENTRY_MODIFY  A                   Modifies the information stored for this entry._  "                   Input Item Codes  J                   O     NOTES$K_ENTRY_LAST_STATUS    Longword value of theN                                                      last update for the entryM                                                      (update status longword)   F                   S,R   NOTES$K_ENTRY_NAME           Entry name string  J                   O     NOTES$K_ENTRY_NEW_NAME       New entry name string=                                                      (rename)s  O                   O     NOTES$K_ENTRY_OBJECT_NAME    DNS object name string for >                                                      the entry  P                   O     NOTES$K_ENTRY_USER_AREA      String of user-programmable9                                                      datae  M                   O     NOTES$K_NOSIGNAL             Return on errors; do notN;                                                      signal_    O                                                             Entry Routines  4-7E L  _                        J                   O     NOTES$K_NOTEFILE_DEFAULT_    Default notefile name;                         NAME                         string   M                   O     NOTES$K_NOTEFILE_ENTRYTOTAL  Longword number of notes =                                                      in entryA  E                   O     NOTES$K_NOTEFILE_FILE_NAME   File name stringt  M                   O     NOTES$K_NOTEFILE_HIGH_UID    Longword of highest used =                                                      note UID   K                   O     NOTES$K_NOTEFILE_LASTREV     Quadword date/time the_N                                                      notefile was last revised  J                   O     NOTES$K_NOTEFILE_MODERATOR   Moderator name string  B                   O     NOTES$K_NOTEFILE_NOTICE      Notice string  L                   O     NOTES$K_NOTEFILE_NUMNOTES    Longword note number ofC                                                      the last topic   J                   O     NOTES$K_NOTEFILE_RELATED_    Related notefile name;                         NAME                         string   A                   O     NOTES$K_NOTEFILE_TITLE       Title string   L                   O     NOTES$K_SEEN_MAP             String indicating whichI                                                      notes have been seen   K                ____________________________________________________________i  &                4.9  NOTES$ENTRY_UPDATE  O                   Updates statistics for an entry (or entries, if wildcards are                    used).  "                   Input Item Codes  F                   O     NOTES$K_CLASS_NAME           Class name string  M                   O     NOTES$K_CONTINUE             Keep getting information       "                4-8  Entry Routines    t                        F                   S,R   NOTES$K_ENTRY_NAME           Entry name string  M                   O     NOTES$K_NOSIGNAL             Return on errors; do not ;                                                      signalr  J                   O     NOTES$K_NOTEFILE_DEFAULT_    Default notefile name;                         NAME                         string_  I                   O     NOTES$K_NOTEFILE_FILE_NAME   Notefile name string   J                   O     NOTES$K_NOTEFILE_RELATED_    Related notefile name;                         NAME                         stringG                                                                O                                                             Entry Routines  4-9g f  a                                  O                                                                       Chapter 5_    O                                                                Keyword RoutinesOO                ________________________________________________________________     N                   This chapter describes the routines used to access keywords.  O                   The item codes allowed in an output item list (OUT-ITEM-LIST) M                   are described first, because this list is common to most ofg/                   the routines in this chapter.   O                   Each notefile routine is described in a separate section withiK                   its own list of allowed input item codes (INP-ITEM-LIST).   K                   The following abbreviations are used in the list of input                    item codes:   M                   R   Required  This item code must be specified in the call.   L                   O   Optional  This item code may be specified in the call.  L                   S   Selection This item code specifies which class, entry,K                                 keyword, or note is being referenced by the %                                 call.h  #                   Output Item Codesl  O                   The following item code can be specified in the OUT-ITEM-LISTo2                   for the NOTES$KEYWORD_xxx calls.  O                   _____________________________________________________________eO                   Item_Code_____________Description____________________________T  6                   NOTES$K_KEYWORD_NAME  Keyword string  H                   NOTES$K_KEYWORD_      String of user-programmable dataO                   USER_AREA____________________________________________________   O                                                           Keyword Routines  5-1                            L                   The following item codes may be specified in the OUT-ITEM-<                   LIST for the NOTES$KEYWORD_GET_NOTE calls.  O                   _____________________________________________________________wO                   Item_Code_____________Description____________________________N  9                   NOTES$K_ENTRY_NAME    Entry name string   ;                   NOTES$K_KEYWORD_NAME  Keyword name string   =                   NOTES$K_NOTE_ID       String of topic.reply_  O                   NOTES$K_NOTE_UID______Longword_unique_note_identifier________D  K                ____________________________________________________________   '                5.1  NOTES$KEYWORD_BEGIN   L                   Creates and initializes keyword context for later calls to-                   NOTES$KEYWORD_xxx routines.d  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   I                   R   NOTES$K_NOTEFILE_     Context longword for notefile                        CONTEXT   K                ____________________________________________________________   %                5.2  NOTES$KEYWORD_ENDu  9                   Deletes or deallocates keyword context.D  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signaln  K                ____________________________________________________________t  %                5.3  NOTES$KEYWORD_ADDF  K                   Creates a keyword record if both the entry_name and note_LK                   ID are missing. Creates a keyword reference if either theUN                   entry_name or note_ID is specified. If the entry name is notM                   specified, this routine also adds the reference to the note !                   (if specified).D  $                5-2  Keyword Routines                           I                   Note that keyword routines are also used for markers. ALM                   marker is unique to one note in a notefile, although it can L                   be used in more than one notefile. A keyword, by contrast,@                   can refer to more than one note in a notefile.  "                   Input Item Codes  M                   O     NOTES$K_ENTRY_NAME    Entry name string (for markers)   <                   S,R   NOTES$K_KEYWORD_NAME  Keyword string  N                   O     NOTES$K_KEYWORD_      String of user-programmable data!                         USER_AREAN  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal_  C                   O     NOTES$K_NOTE_ID       String of topic.reply   M                   O     NOTES$K_NOTE_UID      Longword unique note identifier   O                   O     NOTES$K_UNIENTRY      If there is an existing reference_N                                               (by this marker) to another noteJ                                               in the specified conference,L                                               supersede it (this is not used;                                               for keywords)   K                _____________________________________________________________  (                5.4  NOTES$KEYWORD_DELETE  M                   Deletes a keyword record if both the entry_name and note_ID O                   are missing. Deletes a keyword reference if either the entry_ L                   name or the note_ID is specified. If the entry name is notM                   specified, this routine also deletes the reference from thet&                   note (if specified).  "                   Input Item Codes  L                   S,O   NOTES$K_ENTRY_NAME    Entry name string (D = current7                                               notefile)   <                   S,R   NOTES$K_KEYWORD_NAME  Keyword string      O                                                           Keyword Routines  5-3_ _  _                        M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signale  C                   S,O   NOTES$K_NOTE_ID       String of topic.reply   M                   O     NOTES$K_NOTE_UID      Longword unique note identifier   K                ____________________________________________________________   %                5.5  NOTES$KEYWORD_GET_  2                   Gets information about keywords.  "                   Input Item Codes  H                   O     NOTES$K_CONTINUE      Keep returning information  ?                   O     NOTES$K_ENTRY_NAME    Entry name string   M                   O     NOTES$K_KEYWORD_      Indicates that a NOTES$KEYWORD_nN                         HINT_GET_NOTE         GET_NOTE will be performed next.N                                               This item code must be specifiedI                                               if a NOTES$KEYWORD_GET_NOTEEK                                               is going to be done after theoO                                               NOTES$KEYWORD_GET. Otherwise, theeM                                               NOTES$KEYWORD_GET will not workgM                                               correctly for remote notefiles.   O                   S,R   NOTES$K_KEYWORD_NAME  Keyword string (allows wildcards)   M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal$  K                ____________________________________________________________   *                5.6  NOTES$KEYWORD_GET_NOTE  K                   Gets information about notes referenced by a keyword (the M                   keyword specified by the most recent NOTES$KEYWORD_GET call $                   for this context).            $                5-4  Keyword Routines                           "                   Input Item Codes  H                   O     NOTES$K_CONTINUE      Keep returning information  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signalL  K                ____________________________________________________________   (                5.7  NOTES$KEYWORD_MODIFY  L                   Changes the keyword name (note that references are createdN                   and deleted by calls to NOTES$KEYWORD_ADD and NOTES$KEYWORD_K                   DELETE routines). If the keyword_new_name does not exist, J                   this routine updates the keyword record. Otherwise, thisO                   routine effectively uses NOTES$KEYWORD_GET/ADD/DELETE to copyRO                   all references from the keyword_name to the keyword_new_name,N;                   and then deletes the keyword_name record.O  "                   Input Item Codes  <                   S,R   NOTES$K_KEYWORD_NAME  Keyword string  N                   O     NOTES$K_KEYWORD_NEW_  New keyword name string (rename)                         NAME  N                   O     NOTES$K_KEYWORD_      String of user-programmable data!                         USER_AREA   M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal                                 O                                                           Keyword Routines  5-5_ _  _                                  O                                                                       Chapter 6     O                                                                   Note RoutinesrO                ________________________________________________________________c    N                   This chapter describes the routines used to access a note orA                   set of notes once the notefile has been opened.   O                   The item codes allowed in an output item list (OUT-ITEM-LIST)_M                   are described first, because this list is common to most of$/                   the routines in this chapter.i  O                   Each notefile routine is described in a separate section with K                   its own list of allowed input item codes (INP-ITEM-LIST).   K                   The following abbreviations are used in the list of inputs                   item codes:   M                   R   Required  This item code must be specified in the call.E  L                   O   Optional  This item code may be specified in the call.  L                   S   Selection This item code specifies which class, entry,K                                 keyword, or note is being referenced by the %                                 call.   #                   Output Item Codes   L                   The following item codes can be specified in the OUT-ITEM-4                   LIST for the NOTES$NOTE_xxx calls.  O                   _____________________________________________________________ O                   Item_Code____________________Description_____________________   A                   NOTES$K_NOTE_AUTHOR          Author name string   N                   NOTES$K_NOTE_BLINK_ID        Note identifier string of topic  O                                                              Note Routines  6-1                          O                   _____________________________________________________________cO                   Item_Code____________________Description_____________________i  =                   NOTES$K_NOTE_BLINK_TITLE     Title of topic   N                   NOTES$K_NOTE_BLINK_UID       Longword unique note identifier7                                                of topic   O                   NOTES$K_NOTE_CAN_REPLY       Longword indicating with a value M                                                of 1 that a reply can be added   I                   NOTES$K_NOTE_CREATE_TIME     Quadword date/time of noteo7                                                creation_  O                   NOTES$K_NOTE_HIDDEN          Longword indicating with a valueEM                                                of 1 that text has been hiddenn  E                   NOTES$K_NOTE_ID              Note identifier stringO  N                   NOTES$K_NOTE_NUMRECORDS      Longword number of text records;                                                in this note   N                   NOTES$K_NOTE_NUMRESPONSES    Longword response number of the9                                                last reply_  C                   NOTES$K_NOTE_PEN_NAME        Personal name string_  ;                   NOTES$K_NOTE_TITLE           Title string   N                   NOTES$K_NOTE_TYPE            Longword indicating the type of?                                                text in the note   N                   NOTES$K_NOTE_UID             Longword unique note identifier  O                   NOTES$K_NOTE_USER_AREA       String of user-programmable dataa  I                   NOTES$K_NOTE_WRITELOCK       Longword indicating with a_K                                                value of 1 that the notefilet=                                                is writelockedu  N                   NOTES$K_NOTEFILE_ENTRYTOTAL  Longword number of notes in the4                                                entry        !                6-2  Note Routines                          O                   _____________________________________________________________RO                   Item_Code____________________Description_____________________A  C                   NOTES$K_NOTEFILE_FILE_NAME   Notefile name string   L                   NOTES$K_NOTEFILE_HIGH_UID    Longword of highest used note2                                                UID  J                   NOTES$K_NOTEFILE_LASTREV     Quadword date/time that theH                                                notefile was last revised  K                   NOTES$K_NOTEFILE_NUMNOTES    Longword note number of last 4                                                topic  L                   NOTES$K_SEEN_MAP             String indicating which notesO                   _____________________________have_been_seen__________________   O                   The following item code is specified in the OUT-ITEM-LIST for 2                   the NOTES$NOTE_GET_KEYWORD call.  O                   _____________________________________________________________ O                   Item_Code_____________Description____________________________   O                   NOTES$K_KEYWORD_NAME__Keyword_string_________________________E  L                   The following item codes may be specified in the OUT-ITEM-N                   LIST for the NOTES$NOTE_ADD_TEXT and the NOTES$NOTE_GET_TEXT                   calls.  O                   _____________________________________________________________vO                   Item_Code_____________Description____________________________g  :                   NOTES$K_TEXT_STRING   Text record string  O                   NOTES$K_TEXT_TYPE_____Longword_type_of_text_record___________e  K                ____________________________________________________________   $                6.1  NOTES$NOTE_BEGIN  H                   Initiates notes-level access on a currently open note-K                   file. This routine must be called before any of the othertL                   NOTES$NOTE_xxx routines and after the NOTES$NOTEFILE_BEGINN                   routine has been called to open the notefile. It is possibleL                   to have more than one NOTE_BEGIN/END routine active in theK                   same NOTEFILE_BEGIN/END "block". This routine creates anda  O                                                              Note Routines  6-3.                           L                   initializes note context for later calls to NOTES$NOTE_xxx                   routines.   "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   I                   R   NOTES$K_NOTEFILE_     Context longword for notefile                        CONTEXT   K                ____________________________________________________________   "                6.2  NOTES$NOTE_END  6                   Deletes or deallocates note context.  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal_  K                ____________________________________________________________O  "                6.3  NOTES$NOTE_ADD  F                   Adds a new note or reply to a notefile. Calls to theJ                   NOTE$NOTE_ADD_TEXT routine can then be used to write theO                   text of the note. The "BLINK" (back-link) item codes, if pre- O                   sent, indicate the note for which the reply is being written. ;                   If not specified, a new topic is written.   "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal_  B                   O   NOTES$K_NOTE_BLINK_   Note identifier string                       ID  K                   O   NOTES$K_NOTE_BLINK_   Longword unique note identifier                        UIDc  O                   O   NOTES$K_NOTE_HIDDEN   Hide note = 1, unhide note = 0 (thesB                                             default is not hidden)      !                6-4  Note Routines                              M                   O   NOTES$K_NOTE_MARK_    Mark note as seen, indicated by 1v                       SEEN  E                   O   NOTES$K_NOTE_PEN_     User personal name stringr                       NAME  8                   O   NOTES$K_NOTE_TITLE    Title string  L                   O   NOTES$K_NOTE_USER_    String of user-programmable data                       AREA  L                   O   NOTES$K_NOTE_         Writelock note = 1, write-enableI                       WRITELOCK             note = 0 (default is enabled)u  @                   O   NOTES$K_NOTEFILE_     Notefile name string                       FILE_NAME   K                _____________________________________________________________  '                6.4  NOTES$NOTE_ADD_TEXT_  L                   Adds another line of text to the note being written. AfterJ                   all the text has been added by calls to this routine, itI                   should be called again, specifying the NOTES$K_TEXT_END                    routine.  "                   Input Item Codes  F                   O   NOTES$K_CONTINUE      Keep releasing information  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signalw  I                   O   NOTES$K_TEXT_END      Indicate end of the note textt  >                   O   NOTES$K_TEXT_STRING   Text record string  H                   O   NOTES$K_TEXT_TYPE     Longword type of text record  K                ____________________________________________________________O  %                6.5  NOTES$NOTE_DELETE   7                   Deletes the specified topic or reply.   O                                                              Note Routines  6-5     E                      "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   B                   O   NOTES$K_NOTE_ID       String note identifier  K                   O   NOTES$K_NOTE_UID      Longword unique note identifier$  K                ____________________________________________________________   "                6.6  NOTES$NOTE_GET  M                   Retrieves information about a note or sequence of notes. ItgO                   must be called before any calls to the NOTES$NOTE_GET_KEYWORD_N                   or the NOTES$NOTE_GET_TEXT routines. The item codes NOTES$K_L                   NOTE_BACK_NOTE, NOTES$K_NOTE_NEXT_NOTE, NOTES$K_NOTE_BACK_M                   RESPONSE, and NOTES$K_NOTE_NEXT_RESPONSE conflict with each 6                   other and with all other item codes.  "                   Input Item Codes  L                   O     NOTES$K_CONTINUE          Keep returning information  N                   S,O   NOTES$K_KEYWORD_NAME      Select notes with the speci->                                                   fied keyword  J                   O     NOTES$K_NOSIGNAL          Return on errors; do not8                                                   signal  O                   S,O   NOTES$K_NOTE_ALL_         Indicates replies should also =                         RESPONSES                 be returnedt  K                   S,O   NOTES$K_NOTE_AUTHOR       Select only notes by this A                                                   author (string)   G                   S,O   NOTES$K_NOTE_BACK_NOTE    Select previous topic   G                   S,O   NOTES$K_NOTE_BACK_        Select previous replyu                          RESPONSE  O                   S,O   NOTES$K_NOTE_BEFORE_TIME  Select only notes before this,;                                                   date/time       !                6-6  Note Routinesr o  m                        M                   S,O   NOTES$K_NOTE_HINT_GET_    Value of 1 indicates that aoM                         KEYWORD                   NOTES$NOTE_GET_KEYWORD willgN                                                   be performed next. This itemK                                                   code must be specified ifiJ                                                   a NOTES$NOTE_GET_KEYWORDH                                                   will be done after theL                                                   NOTES$NOTE_GET. Otherwise,L                                                   the NOTES$NOTE_GET_KEYWORDM                                                   will not work correctly for_C                                                   remote notefiles.   M                   S,O   NOTES$K_NOTE_HINT_GET_    Value of 1 indicates that a J                         TEXT                      NOTES$NOTE_GET_TEXT willI                                                   be performed next. This J                                                   item code must be speci-K                                                   fied if a NOTES$NOTE_GET_sM                                                   TEXT will be done after thetL                                                   NOTES$NOTE_GET. Otherwise,N                                                   the NOTES$NOTE_GET_TEXT willO                                                   not work correctly for remote <                                                   notefiles.  N                   S,O   NOTES$K_NOTE_ID           String range of notes to getO                                                   (conflicts with NOTES$K_NOTE_i6                                                   UID)  O                   S,O   NOTES$K_NOTE_MARK_SEEN    Mark notes as seen, indicated 6                                                   by 1  H                   S,O   NOTES$K_NOTE_NEXT_NOTE    Select following topic  H                   S,O   NOTES$K_NOTE_NEXT_        Select following reply                          RESPONSE  J                   S,O   NOTES$K_NOTE_NEXT_UNSEEN  Select next unseen note,@                                                   indicated by 1  N                   S,O   NOTES$K_NOTE_SEARCH_      Select only notes containing=                         STRING                    this stringY          O                                                              Note Routines  6-7o                             N                   S,O   NOTES$K_NOTE_SINCE_TIME   Select only notes after this;                                                   date/time   I                   S,O   NOTES$K_NOTE_TITLE        Select only notes whose L                                                   titles contain this string  N                   S,O   NOTES$K_NOTE_UID          Longword unique note identi-O                                                   fier (conflicts with NOTES$K_ :                                                   NOTE_ID)  J                   S,O   NOTES$K_NOTE_UNSEEN       Select unseen notes = 1,G                                                   select seen notes = 0   M                   O     NOTES$K_NOTE_USER_AREA    String of user-programmable 6                                                   data  K                ____________________________________________________________n  *                6.7  NOTES$NOTE_GET_KEYWORD  N                   Gets the keywords associated with the current note (the noteL                   specified by the last call to the NOTES$NOTE_GET routine).5                   Keywords are returned one per call.a  "                   Input Item Codes  F                   O   NOTES$K_CONTINUE      Keep returning information  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   K                ____________________________________________________________   '                6.8  NOTES$NOTE_GET_TEXTD  M                   Gets the text records associated with the current note (thetL                   note specified by the last call to the NOTES$NOTE_GET rou-@                   tine). Text records are returned one per call.              !                6-8  Note Routines                            "                   Input Item Codes  H                   O     NOTES$K_CONTINUE      Keep returning information  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal   K                ____________________________________________________________a  %                6.9  NOTES$NOTE_MODIFY   0                   Modifies attributes of a note.  "                   Input Item Codes  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal   L                   O     NOTES$K_NOTE_HIDDEN   Hide note = 1, unhide note = 0  M                   S,O   NOTES$K_NOTE_ID       String range of notes to modify_  M                   O     NOTES$K_NOTE_NEW_ID   String specifying the new note-eL                                               ID to which the range of notes=                                               should be movedl  B                   O     NOTES$K_NOTE_PEN_     Personal name string                         NAME  :                   O     NOTES$K_NOTE_TITLE    Title string  M                   S,O   NOTES$K_NOTE_UID      Longword unique note identifiere  L                   O     NOTES$K_NOTE_UNSEEN   Unseen note = 1, seen note = 0  N                   O     NOTES$K_NOTE_USER_    String of user-programmable data                         AREA  N                   O     NOTES$K_NOTE_         Writelock note = 1, write-enable6                         WRITELOCK             note = 0  B                   O     NOTES$K_NOTEFILE_     Notefile name string!                         FILE_NAMEa        O                                                              Note Routines  6-9                                        O                                                                       Chapter 7s    O                                                                Profile RoutineslO                _________________________________________________________________    O                   This chapter describes the routines used to access the user's '                   personal information.   O                   The item codes allowed in an output item list (OUT-ITEM-LIST) M                   are described first, because this list is common to most of /                   the routines in this chapter.   O                   Each notefile routine is described in a separate section with_K                   its own list of allowed input item codes (INP-ITEM-LIST)._  K                   The following abbreviations are used in the list of input                    item codes:B  M                   R   Required  This item code must be specified in the call.   L                   O   Optional  This item code may be specified in the call.  L                   S   Selection This item code specifies which class, entry,K                                 keyword, or note is being referenced by theQ%                                 call.   #                   Output Item Codest  L                   The following item codes can be specified in the OUT-ITEM-7                   LIST for the NOTES$PROFILE_xxx calls.o  O                   _____________________________________________________________tO                   Item_Code___________________Description______________________u  O                   NOTES$K_PROFILE_AUTO_DIR    Automatic directory = 1, no auto- ;                                               directory = 0p  O                                                           Profile Routines  7-1                          O                   _____________________________________________________________ O                   Item_Code___________________Description______________________n  L                   NOTES$K_PROFILE_AUTO_       Automatic unseen = 1, no auto->                   UNSEEN                      matic unseen = 0  M                   NOTES$K_PROFILE_CLASS_NAME  String of default class name to 1                                               useE  @                   NOTES$K_PROFILE_EDITOR      Editor name string  O                   NOTES$K_PROFILE_EDITOR_     Spawn editor = 1, callable editor 1                   SPAWN                       = 0   B                   NOTES$K_PROFILE_PEN_NAME    Personal name string  L                   NOTES$K_PROFILE_PRINT       String of default print quali-O                   ____________________________fiers_to_apply____________________    K                _____________________________________________________________  '                7.1  NOTES$PROFILE_BEGIN_  L                   Creates and initializes profile context for later calls to-                   NOTES$PROFILE_xxx routines.L  "                   Input Item Codes  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signalL  K                   R     NOTES$K_NOTEFILE_     Context longword for notefile                          CONTEXT   K                ____________________________________________________________   %                7.2  NOTES$PROFILE_END   9                   Deletes or deallocates profile context.S  "                   Input Item Codes  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal       $                7-2  Profile Routines d                       K                _____________________________________________________________  %                7.3  NOTES$PROFILE_GET_  L                   Gets the current settings of the personal profile informa-                   tion.   "                   Input Item Codes  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signalc  J                   S,O   NOTES$K_PROFILE_      Indicates that the temporaryK                         TEMPORARY             profile information should be 6                                               returned  K                _____________________________________________________________  (                7.4  NOTES$PROFILE_MODIFY  ?                   Sets or changes personal profile information.E  "                   Input Item Codes  O                   O   NOTES$K_NOSIGNAL          Return on errors; do not signal_  K                   O   NOTES$K_PROFILE_AUTO_DIR  Automatic directory = 1, noeB                                                 auto-directory = 0  N                   O   NOTES$K_PROFILE_AUTO_     Automatic unseen = 1, no auto-@                       UNSEEN                    matic unseen = 0  O                   O   NOTES$K_PROFILE_CLASS_    String of default class name to 3                       NAME                      use   B                   O   NOTES$K_PROFILE_EDITOR    Editor name string  J                   O   NOTES$K_PROFILE_EDITOR_   Spawn editor = 1, callable:                       SPAWN                     editor = 0  D                   O   NOTES$K_PROFILE_PEN_NAME  Personal name string  N                   O   NOTES$K_PROFILE_PRINT     String of default print quali->                                                 fiers to apply      O                                                           Profile Routines  7-3                              K                   O   NOTES$K_PROFILE_          Indicates that settings are F                       TEMPORARY                 temporary (not stored)                                                                                    $                7-4  Profile Routines s  a                                  O                                                                       Chapter 8E    O                                                                   User Routines O                ________________________________________________________________     K                   This chapter describes the routines used to access member                    information.  O                   The item codes allowed in an output item list (OUT-ITEM-LIST)iM                   are described first, because this list is common to most ofO/                   the routines in this chapter.a  O                   Each notefile routine is described in a separate section with K                   its own list of allowed input item codes (INP-ITEM-LIST).   K                   The following abbreviations are used in the list of inputO                   item codes:d  M                   R   Required  This item code must be specified in the call.e  L                   O   Optional  This item code may be specified in the call.  L                   S   Selection This item code specifies which class, entry,K                                 keyword, or note is being referenced by thep%                                 call.   #                   Output Item Codes$  L                   The following item codes can be specified in the OUT-ITEM-4                   LIST for the NOTES$USER_xxx calls.  O                   _____________________________________________________________ O                   Item_Code_____________Description____________________________   K                   NOTES$K_USER_ACCESS_  String of node::user-name pairs for 1                   LIST                  this user_  O                                                              User Routines  8-1X                         O                   _____________________________________________________________ O                   Item_Code_____________Description____________________________l  O                   NOTES$K_USER_CREATE_  May create keywords = 1, may not create >                   KEYWORD               keywords = 0 (default)  >                   NOTES$K_USER_MAIL_    Mailing address string                   ADDR  O                   NOTES$K_USER_         May be moderator = 1, not moderator = 0d1                   MODERATE              (default)_  8                   NOTES$K_USER_NAME     User name string  N                   NOTES$K_USER_         String of node names (comma-separated)                   NODENAME  M                   NOTES$K_USER_WRITE_   May write to write-locked conference, O                   BYPASS                reply-only conference, and write-locked O                   ______________________topic__________________________________     K                ____________________________________________________________   $                8.1  NOTES$USER_BEGIN  I                   Creates and initializes user context for later calls to *                   NOTES$USER_xxx routines.  "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signalE  I                   R   NOTES$K_NOTEFILE_     Context longword for notefilee                       CONTEXT   K                ____________________________________________________________   "                8.2  NOTES$USER_END  6                   Deletes or deallocates user context.          !                8-2  User Routines_                           "                   Input Item Codes  K                   O   NOTES$K_NOSIGNAL      Return on errors; do not signal   K                ____________________________________________________________   "                8.3  NOTES$USER_ADD  L                   Verifies that there is no existing user with the specifiedL                   user name and node names. Creates a member record for thatJ                   user. If the user name already exists, returns an error.  "                   Input Item Codes  J                   O     NOTES$K_NOSIGNAL          Return on errors; do not8                                                   signal  K                   O     NOTES$K_USER_ACCESS_LIST  String of node::user-nameoE                                                   pairs for this user(  J                   O     NOTES$K_USER_CREATE_      May create keywords = 1,M                         KEYWORD                   may not create keywords = 0l;                                                   (default)   H                   O     NOTES$K_USER_MAIL_ADDR    Mailing address string  K                   O     NOTES$K_USER_MODERATE     May be moderator = 1, notuI                                                   moderator = 0 (default)E  B                   S,R   NOTES$K_USER_NAME         User name string  N                   S,O   NOTES$K_USER_NODENAME     String of node names (comma-<                                                   separated)  K                   O     NOTES$K_USER_WRITE_       May write to write-locked M                         BYPASS                    conference, reply-only con- K                                                   ference, and write-locked 7                                                   topic                 )            O                                                              User Routines  8-3                          K                ____________________________________________________________t  %                8.4  NOTES$USER_DELETE$  M                   Verifies that the specified user exists. Deletes the member '                   record for that user.l  "                   Input Item Codes  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal   M                   O     NOTES$K_USER_ACCESS_  String of node::user-name pairs ;                         LIST                  for this user   >                   S,R   NOTES$K_USER_NAME     User name string  J                   S,O   NOTES$K_USER_         String of node names (comma-8                         NODENAME              separated)  K                ____________________________________________________________m  "                8.5  NOTES$USER_GET  /                   Gets information about users.,  "                   Input Item Codes  H                   O     NOTES$K_CONTINUE      Keep returning information  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal)  N                   S,O   NOTES$K_USER_         Only return users with moderatorM                         MODERATE              privilege, indicated by 1; only M                                               return nonmoderators, indicated 2                                               by 0  L                   S,R   NOTES$K_USER_NAME     User name string (allows wild-M                                               cards); a null user name string K                                               will get the requester's usero9                                               information             !                8-4  User Routines                          K                ____________________________________________________________   %                8.6  NOTES$USER_MODIFYM  N                   Verifies that the specified user exists. Modifies the member'                   record for that user.O  "                   Input Item Codes  M                   O     NOTES$K_NOSIGNAL      Return on errors; do not signal   M                   O     NOTES$K_USER_ACCESS_  String of node::user-name pairsi;                         LIST                  for this userr  N                   O     NOTES$K_USER_CREATE_  May create keywords = 1, may notL                         KEYWORD               creates keywords = 0 (default)  D                   O     NOTES$K_USER_MAIL_    Mailing address string                         ADDR  O                   O     NOTES$K_USER_         May be moderator = 1, not modera- ?                         MODERATE              tor = 0 (default)_  >                   S,R   NOTES$K_USER_NAME     User name string  N                   O     NOTES$K_USER_NEW_     New user name string (to rename)                         NAME  N                   O     NOTES$K_USER_NEW_     String of new node names (comma-8                         NODENAME              separated)  >                   O     NOTES$K_USER_         Node name string                          NODENAME  O                   O     NOTES$K_USER_WRITE_   May write to write-locked confer- N                         BYPASS                ence, reply-only conference, and@                                               write-locked topic                  O                                                              User Routines  8-5a c                                     O                                                                       Chapter 9     O                                                      VAX Notes Network ProtocolmO                ________________________________________________________________n    L                   The VAX Notes network protocol uses a data syntax based onM                   the DIGITAL Data Interchange Syntax (DDIS)[1] and ASN.1.[2]a9                   Data is encoded in TLVs. TLV stands for                         Type field !                      Length fields                       Value field  N                   This chapter describes the TLV encoding in VAX Notes of dataD                   packets exchanged between client and server nodes.  M                   TLVs can be nested; that is, the Value field of one TLV can 6                   contain one or more additional TLVs.  N                   VAX Notes uses unregistered Type codes in its network proto-O                   col. The Type codes are the numeric values listed in the file A                   NOTESCODES.TXT, provided with the software kit.   I                   The Type and Length fields of a TLV are bit-encoded for N                   efficiency. The following sections explain the Type, Length,#                   and Value fields.E        "                ___________________M              [1] DEC STD 081, DIGITAL Data Interchange Syntax (DDIS), Part 1,   J                  as described in A-DS-EL00081-00-3, Rev AX03, 15-Jan-1989.U              [2] International Standard Organizations (ISO), Open System Interconnect0Q                  (OSI), Abstract Syntax Notation (ASN.1), as defined in ISO 8824,                     ISO 8825.  O                                                 VAX Notes Network Protocol  9-1                          K                ____________________________________________________________                   9.1  Type Field  M                   The Type field of a TLV is bit-encoded in 1, 2, or 3 octets                     (8-bit bytes).  J                   Bits 6 and 7 of the first or only byte of the Type fieldJ                   specify the class. There are four classes of data types:  M                   0 = TLV$M_UNIVERSAL          Generally useful, application-IK                                                independent types defined byn:                                                CCITT X.409  O                   1 = TLV$M_APPLICATION_WIDE   Specialized types, defined by ant:                                                application  O                   2 = TLV$M_CONTEXT_SPECIFIC   Application types that are validhN                                                only within limited contexts of>                                                the application  N                   3 = TLV$M_PRIVATE            Reserved for the private use of6                                                Digital  M                   Depending on the context, VAX Notes specifies either TLV$M_ O                   PRIVATE or (inappropriately) zero for the class. Thus, bits 6eN                   and 7 of the first byte always contain either 00 (binary) or                   11 (binary).  M                   Bit 5 of the first or only byte of the Type field specifies_A                   the form. There are two forms of data elements:_  N                   0 = TLV$M_PRIMITIVE          An element whose value field isN                                                atomic (not itself another data7                                                element)   N                   1 = TLV$M_CONSTRUCTOR        An element whose value field isN                                                itself a data element or series?                                                of data elements_  O                   VAX Notes does not specify TLV$M_CONSTRUCTOR, so bit 5 of then)                   first byte is always 0.   N                   The Type field is either 1, 2, or 3 bytes in length, depend-N                   ing on the numeric value of the Type code. The diagrams thatO                   follow map the 1-byte, 2-byte, and 3-byte Type fields. In the                    diagrams,_                        C = Class  .                9-2  VAX Notes Network Protocol                                                 F = Form                       T = Type                       L = Length   .                                7 6 5 4 3 2 1 0/                               +-+-+-+-+-+-+-+-+_]                      1-byte:  |C|C|F|T|T|T|T|T|   where TTTTT is less than 11111 (31 decimal)_/                               +-+-+-+-+-+-+-+-+     L                   The one-byte form is used for Types in the range 0 throughM                   30. The number of the Type is in bits 0 through 4. Bit 0 isdN                   the least significant bit. The number identifies the routineL                   or item code. (For example, 0001 is the number of NOTES$K_M                   INITIALIZE. This and all other Type codes are listed in the_?                   file NOTESCODES.TXT, supplied with your kit.)O  B                                7 6 5 4 3 2 1 0     7 6 5 4 3 2 1 0C                               +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+ C                      2-byte:  |C|C|F|1|1|1|1|1|   |0|T|T|T|T|T|T|T| C                               +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+   J                   The two-byte form is used for Type codes in the range 31L                   through 127. Bits 0 through 4 of the first byte are set toO                   11111. Bit 7 of the second byte is set to 0. The Type code is L                   in bits 0 through 6 of the second byte. Bit 0 is the leastL                   significant bit. (For example, 32 decimal is the number of'                   NOTES$K_CLASS_BEGIN).                                   O                                                 VAX Notes Network Protocol  9-3                            V                                7 6 5 4 3 2 1 0     7 6 5 4 3 2 1 0     7 6 5 4 3 2 1 0W                               +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+ W                      3-byte:  |C|C|F|1|1|1|1|1|   |1|T|T|T|T|T|T|T|   |0|T|T|T|T|T|T|T|oW                               +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+n    M                   The three-byte form is used for Type codes in the range 128 N                   through 16383. Bit 7 of the second byte is set to 1, and bitK                   7 of the third byte is set to 0. The Type code is in bits M                   0 through 6 of the second byte, and bits 0 through 6 of the O                   third byte. Bit 0 of the second byte is the least significantRO                   bit, and bit 6 of the third byte is the most significant bit.dN                   Hence, to read the binary number, remove bit 7 of the secondM                   byte and bit 7 of the third byte; then put the third byte's K                   remaining 7 bits before the second byte's 7 bits, without N                   reordering the bits within each byte. (For example, NOTES$K_)                   INIT_NODENAME is 8194).   K                ____________________________________________________________O                   9.2  Length Field  K                   The Length field specifies the length (in 8-bit bytes, ortL                   octets) of the Value field of a TLV. The Length field con-K                   sists of 1, 2, or 3 bytes, in one of the following forms:   .                                7 6 5 4 3 2 1 0/                               +-+-+-+-+-+-+-+-+ /                      1-byte:  |0|L|L|L|L|L|L|L| /                               +-+-+-+-+-+-+-+-+   I                   This one-byte form (there is another one-byte form that K                   indicates indefinite length, described below) is used for L                   lengths in the range 0 through 127. Bit 7 is set to 0. TheM                   length is specified in bits 0 through 6. Bit 0 is the leastt"                   significant bit.                  .                9-4  VAX Notes Network Protocol h  t                      B                                7 6 5 4 3 2 1 0     7 6 5 4 3 2 1 0C                               +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+oC                      2-byte:  |1|0|0|0|0|0|0|1|   |L|L|L|L|L|L|L|L| C                               +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+     H                   The two-byte form is used for lengths in the range 128J                   through 255. The length is specified in bits 0 through 7I                   of the second byte. Bit 0 is the least significant bit.o  V                                7 6 5 4 3 2 1 0     7 6 5 4 3 2 1 0     7 6 5 4 3 2 1 0W                               +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+nW                      3-byte:  |1|0|0|0|0|0|1|0|   |L|L|L|L|L|L|L|L|   |L|L|L|L|L|L|L|L| W                               +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+d  J                   The three-byte form is used for lengths in the range 256O                   through 65535. The length is specified in bits 0 through 7 of N                   the second byte, and bits 0 through 7 of the third byte. BitL                   0 of the second byte is the least significant bit, and bitM                   7 of the third byte is the most significant bit. (Hence, to N                   read the binary number, put the third byte before the second                   byte.)  .                                7 6 5 4 3 2 1 0/                               +-+-+-+-+-+-+-+-+e/                      1-byte:  |1|0|0|0|0|0|0|0| /                               +-+-+-+-+-+-+-+-+   N                   This one-byte form is used to indicate an indefinite length.J                   The Value field that follows is itself TLV-encoded; thatN                   is, it is a sequence of TLVs. A TLV of all zeroes within theK                   Value field indicates the end of the Value (that is, both O                   the Type and Length are zero, so this appears as two bytes of                    zero).  G                   VAX Notes uses this form only in error reporting (see_%                   NOTES$K_ERROR_TLV)._                O                                                 VAX Notes Network Protocol  9-5                          K                ____________________________________________________________s                  9.3  Value Fieldx  J                   For character string data, the Value portion of a TLV isJ                   a string of 8-bit octets. Integer data is passed as a 1-O                   octet or 4-octet string with VAX ordering used for the octetsTN                   within this string. A VMS date/time format is used to pass a;                   date/time data item as an 8-octet string.   K                ____________________________________________________________i  .                9.4  Structure of a Data Packet  O                   The first two bytes of every data packet sent between the VAXsN                   Notes client and server contain flags. Currently, only bit 0L                   of the first byte is used; the other bits are sent as zero                   and ignored.  O                   Bit 0 of the first byte is the end of message (EOM) bit. WhenbK                   set (1), it indicates that this packet represents the endrM                   of the message. When clear (0), it indicates that there are M                   continuation packets that may be requested. Continuation is ?                   described in detail below (see NOTES$K_MORE)._  I                   Except for continuation packets, the two flag bytes are O                   followed by a sequence of TLVs. The description of these TLVsEL                   and their contents comprise the remainder of this chapter.  O                   The protocol design supports only one outstanding request per                    connection.   N                   In the sequence of TLVs from the server, there may be error-K                   reporting TLVs (see NOTES$K_ERROR_TLV). These indicate an L                   error or informational message that was produced while theI                   server was processing a client request. These may occurOJ                   anywhere amoung the top-level TLVs; they do not occur inN                   nested TLVs. (A nested TLV is one that occurs as part of the.                   Value field of another TLV.)  )                   NOTES$K_ERROR_TLV = 131f  K                   While processing a client request, the server may produceeN                   an error or informational message. To report this, it is putL                   into a NOTES$K_ERROR_TLV, and is sent to the client as oneM                   of the top-level TLVs in the next message (it is not nested_M                   within another TLV). The Value of the NOTES$K_ERROR_TLV TLV8L                   is itself a sequence of TLVs, with the format depending on  .                9-6  VAX Notes Network Protocol f  t                      K                   whether both the client and server specified the NOTES$V_eO                   INIT_VMSMSGS capability in their NOTES$K_INITIALIZE messages.t  N                   With the NOTES$V_INIT_VMSMSGS capability, the NOTES$K_ERROR_E                   TLV TLV represents a signaled VMS condition vector.t  /                               NOTES$K_ERROR_TLV \                                   NOTES$K_STATUS                  A longword condition value_                                   NOTES$K_ERROR_NARGS             Number of following arguments S                                   NOTES$K_ERROR_ARG               A string argument   I                   The NOTES$K_ERROR_ARG TLV may occur any number of timesr                    (including 0).  >                   Without the NOTES$V_INIT_VMSMSGS capability:  /                               NOTES$K_ERROR_TLVyZ                                   NOTES$K_ERROR_TEXT              A string, the error text  J                   Note that the indefinite length encoding is used for the3                   NOTES$K_ERROR_TLV's Length field.   (                   NOTES$K_INITIALIZE = 1  K                   When the client first starts using VAX Notes for a remote L                   connection (by calling NOTES$NOTEFILE_BEGIN), a connectionL                   to the server is made, and initialization messages are ex-                   changed.  L                   The initialization message sent by the client contains (inN                   order) the two flag bytes (containing the EOM bit), followedO                   by a TLV of Type NOTES$K_INITIALIZE. The Value of this TLV is L                   itself a sequence of TLVs for the software version, clientK                   nodename, client username, and client capabilities. These$L                   TLVs are indicated below; note that indentation is used to+                   indicate the nested TLVs.                   O                                                 VAX Notes Network Protocol  9-7E _  R                      <                           INITIALIZE (from client to server)  0                               NOTES$K_INITIALIZE]                                   NOTES$K_INIT_VERSION            Version, a longword integer \                                   NOTES$K_INIT_NODENAME           Client nodename (a string)U                                   NOTES$K_INIT_USERNAME           Username (a string)NZ                                   NOTES$K_INIT_CAPABILITIES       Capabilities, a longword      N                   The server responds with another message. It begins with theK                   flags word, and includes two TLVs, NOTES$K_INITIALIZE and L                   NOTES$K_STATUS. The Value of the NOTES$K_INITIALIZE TLV isL                   itself a sequence of TLVs for the software version, serverO                   nodename, server capabilities, and the maximum itemcode which N                   is understood by the server. The Value of the NOTES$K_STATUSJ                   TLV is a VAX/VMS condition value (typically SS$_NORMAL).  <                           INITIALIZE (from server to client)  0                               NOTES$K_INITIALIZE]                                   NOTES$K_INIT_VERSION            Version, a longword integer \                                   NOTES$K_INIT_NODENAME           Server nodename (a string)Z                                   NOTES$K_INIT_CAPABILITIES       Capabilities, a longwordT                                   NOTES$K_INIT_MAXITEMCODE        A longword integer\                               NOTES$K_STATUS                      A longword condition value  N                   Only bit 0 of the capabilities is defined; other bits shouldN                   be clear. If set, bit 0 indicates that the sender (client orM                   server) understands VAX/VMS error messages. This determineseO                   the format in which error messages will be sent (see NOTES$K_ J                   ERROR_TLV, above). The symbolic name for this capabilityI                   field within the capabilities longword is NOTES$V_INIT_                    VMSMSGS.  M                   The software version described herein is 2/4, which is sentTL                   as hex 00020004, and which represents version 0002, updateM                   0004. When changes that allow upward compatibility are made I                   to the protocol, the update number is increased; and if O                   significant changes are made, the version number is increasedaM                   (and the update reset to 0). Protocol changes are mentioned-(                   in the following text.      .                9-8  VAX Notes Network Protocol O                         L                   Most of the 'routine' messages are fairly similar, and areI                   closely related to the corresponding callable interface N                   routines (see Part II). As an example, consider the messages:                   used to modify a user/membership record.  =                           USER_MODIFY (from client to server)h  1                               NOTES$K_USER_MODIFYt]                                   NOTES$K_REQUEST_CONTEXT         Context from notefile_beginy3                                   NOTES$K_TLV_INPUTlJ                                       NOTES$K_USER_NAME           UsernameN                                       NOTES$K_USER_MAIL_ADDR      Mail address)                                       ...b4                                   NOTES$K_TLV_OUTPUTJ                                       NOTES$K_USER_NAME           UsernameR                                       NOTES$K_USER_MODERATE       Longword boolean)                                       ...A  L                   The NOTES$K_REQUEST_CONTEXT TLV corresponds to the contextN                   parameter that is returned by NOTES$USER_BEGIN and passed to$                   NOTES$USER_MODIFY.  N                   The TLVs within the NOTES$K_TLV_INPUT and NOTES$K_TLV_OUTPUTJ                   TLVs correspond directly to the items that can be speci-L                   fied to (or requested from) the NOTES$USER_MODIFY routine.N                   Since their values would be meaningless, the TLVs within theO                   NOTES$K_TLV_OUTPUT TLV are specified with lengths of 0; their I                   presence merely indicates which data items are desired._  A                   The server responds with the following message.                               O                                                 VAX Notes Network Protocol  9-9                            =                           USER_MODIFY (from server to client)   ]                               NOTES$K_REQUEST_CONTEXT             Context from notefile_begin 0                               NOTES$K_TLV_OUTPUTJ                                   NOTES$K_USER_NAME               UsernameR                                   NOTES$K_USER_MODERATE           Longword boolean%                                   ...s\                               NOTES$K_STATUS                      A longword condition value  H                   Note that the server's response is not nested within aM                   NOTES$K_USER_MODIFY TLV; there is no NOTES$K_TLV_INPUT TLV;fO                   and the message includes a NOTES$K_STATUS TLV which gives the O                   final status of the operation. The NOTES$K_TLV_OUTPUT TLV may O                   be absent (this happens when the NOTES$K_STATUS TLV indicatesL                   failure).   I                   None of the BEGIN routines specify the NOTES$K_REQUEST_-I                   CONTEXT TLV; this is an output provided by the server'sh                   response.   L                   While all the BEGIN responses include the NOTES$K_REQUEST_O                   CONTEXT TLV, most other server responses do not; it is unnec- N                   essary because the context is the same as the context in theN                   preceding request (it is assumed that for a given connection+                   the requests are serial).   L                   Responses can also include error or informational messagesK                   (see NOTES$K_ERROR_TLV). Some responses may be split into 5                   several packets (see NOTES$K_MORE).   L                   The following messages/routines fit the above description,N                   and are not further described. See Part II for a description>                   of the inputs and outputs of these routines.  /                      NOTES$K_NOTEFILE_BEGIN = 3 -                      NOTES$K_NOTEFILE_END = 4 2                      NOTES$K_NOTEFILE_GET_INFO = 50                      NOTES$K_NOTEFILE_MODIFY = 64                      NOTES$K_NOTEFILE_LIST_BEGIN = 7.                      NOTES$K_NOTEFILE_LIST = 8.                      NOTES$K_KEYWORD_BEGIN = 9-                      NOTES$K_KEYWORD_END = 10E-                      NOTES$K_KEYWORD_ADD = 11 0                      NOTES$K_KEYWORD_DELETE = 12  /                9-10  VAX Notes Network Protocol                            2                      NOTES$K_KEYWORD_GET_NOTE = 140                      NOTES$K_KEYWORD_MODIFY = 15,                      NOTES$K_NOTE_BEGIN = 16*                      NOTES$K_NOTE_END = 17*                      NOTES$K_NOTE_ADD = 18-                      NOTES$K_NOTE_DELETE = 20 2                      NOTES$K_NOTE_GET_KEYWORD = 22/                      NOTES$K_NOTE_GET_TEXT = 23 -                      NOTES$K_NOTE_MODIFY = 24 ,                      NOTES$K_USER_BEGIN = 25*                      NOTES$K_USER_END = 26*                      NOTES$K_USER_ADD = 27-                      NOTES$K_USER_DELETE = 28 -                      NOTES$K_USER_MODIFY = 30 +                      NOTES$K_CLASS_ADD = 31s-                      NOTES$K_CLASS_BEGIN = 32 .                      NOTES$K_CLASS_DELETE = 33+                      NOTES$K_CLASS_END = 34c1                      NOTES$K_CLASS_GET_ENTRY = 36e.                      NOTES$K_CLASS_MODIFY = 37+                      NOTES$K_ENTRY_ADD = 38 -                      NOTES$K_ENTRY_BEGIN = 39t.                      NOTES$K_ENTRY_DELETE = 40+                      NOTES$K_ENTRY_END = 41O1                      NOTES$K_ENTRY_GET_CLASS = 43 3                      NOTES$K_ENTRY_GET_KEYWORD = 44_.                      NOTES$K_ENTRY_MODIFY = 45/                      NOTES$K_PROFILE_BEGIN = 46d-                      NOTES$K_PROFILE_END = 47 -                      NOTES$K_PROFILE_GET = 48L0                      NOTES$K_PROFILE_MODIFY = 49    L                   To reduce the amount of network traffic, the following twoH                   techniques are used in the VAX Notes network protocol.  J                   When a user requests a list (for example, a list of key-H                   words), the callable interface would generally requireM                   that multiple calls be made to a GET routine, with NOTES$K_dK                   CONTINUE specified on the second and subsequent calls. ToiM                   reduce the number of packets that are exchanged in handling.L                   a user's request, the server assumes that all GET requestsL                   are continued, and sends back the information for multiple    O                                                VAX Notes Network Protocol  9-11                            L                   GET requests in one packet, without requiring the separate                   requests.   M                   If the information being returned by the server exceeds the-J                   size of a single packet, a NOTES$K_MORE request from theJ                   client prompts the server to send the next packet in theL                   message. The NOTES$K_USER request illustrates the simplestC                   example of this technique (see NOTES$K_USER_GET).   O                   To further reduce the network traffic, the client can specify M                   "hints" to the server. For example, if the client specifiesLL                   NOTES$K_NOTE_HINT_GET_TEXT in the NOTES$K_TLV_INPUT TLV ofM                   a NOTES$K_NOTE_GET request, then (as usual) the server willnN                   send back the items requested in the NOTES$K_TLV_OUTPUT TLV,N                   but it will also send back the text of the note, without theJ                   client making individual NOTES$K_NOTE_GET_TEXT requests.  '                   NOTES$K_USER_GET = 29t  L                   This is requested as described above. The servers responseL                   may include multiple NOTES$K_TLV_OUTPUT TLVs, one for eachO                   user record found/requested. As usual, NOTES$K_ERROR_TLV TLVs O                   may also appear, and the NOTES$K_TLV_OUTPUT TLV may be absent >                   if the NOTES$K_STATUS TLV indicates failure.  :                           USER_GET (from server to client)  D                               NOTES$K_TLV_OUTPUT                   \E                                   NOTES$K_USER_NAME                 \h[                                   NOTES$K_USER_MODERATE              > This may be repeated E                                   ...                               / D                               NOTES$K_STATUS                       /  *                   NOTES$K_KEYWORD_GET = 13  M                   This is requested as described above. The server's response L                   may include multiple NOTES$K_TLV_OUTPUT TLVs, one for each*                   keyword found/requested.  M                   If the NOTES$K_KEYWORD_GET request (sent from the client to M                   the server) includes a NOTES$K_KEYWORD_HINT_GET_NOTE TLV in N                   its NOTES$K_TLV_INPUT TLV, then for each keyword, the serverL                   does a NOTES$K_KEYWORD_GET_NOTE and sends that informationM                   along in its response. The form of that information dependsaO                   on whether the NOTES$K_KEYWORD_GET request had NOTES$K_ENTRY__4                   NAME in its NOTES$K_TLV_INPUT TLV.  /                9-12  VAX Notes Network Protocol                            N                   If NOTES$K_ENTRY_NAME was specified, the server sends a form%                   suited for markers:   =                           KEYWORD_GET (from server to client)t  B                               NOTES$K_TLV_OUTPUT                 \C                                   NOTES$K_KEYWORD_NAME            \ D                                   ...                              \E                               NOTES$K_STATUS                        \ F                                                                      \\                               NOTES$K_TLV_OUTPUT     \ one for        > This may be repeatedF                                   NOTES$K_NOTE_ID     \ each         /E                                   NOTES$K_ENTRY_NAME   \ note       / D                                   NOTES$K_KEYWORD_NAME /           /C                                   NOTES$K_NOTE_UID    /           /aB                               NOTES$K_STATUS         /           /  :                   If NOTES$K_ENTRY_NAME was not specified:  =                           KEYWORD_GET (from server to client)s  C                               NOTES$K_TLV_OUTPUT                  \aD                                   NOTES$K_KEYWORD_NAME             \E                                   ...                               \eF                               NOTES$K_STATUS                         \\                                                                       > This may be repeatedF                               NOTES$K_NOTE_UID       \ one for       /E                               NOTES$K_NOTE_ID        / each note    /rD                                                                    /C                               NOTES$K_STATUS - end of all the     / B                                                 hooji-woojis     /  J                   The first NOTES$K_STATUS shown above is for the NOTES$K_M                   KEYWORD_GET operation, and the second is for the final (un-nM                   successful) NOTES$K_KEYWORD_GET_NOTE done for each keyword.   M                   The NOTES$K_NOTE_UID may be absent, since early versions ofeG                   VAX Notes (prior to protocol 2/3) did not include it.e  (                   NOTES$K_CLASS_GET = 35  L                   This is requested as described above. The servers responseL                   may include multiple NOTES$K_TLV_OUTPUT TLVs, one for each/                   class record found/requested.O  O                                                VAX Notes Network Protocol  9-13                            L                   If the NOTES$K_CLASS_GET request includes a NOTES$K_CLASS_K                   HINT_GET_ENTRY TLV in its NOTES$K_TLV_INPUT TLV, then forEK                   each class, the server does a NOTES$K_CLASS_GET_ENTRY andg4                   sends the results in its response.  ;                           CLASS_GET (from server to client)_  E                               NOTES$K_TLV_OUTPUT                    \ F                                   NOTES$K_CLASS_NAME                 \G                                   ...                                 \h]                               NOTES$K_STATUS                           \ This may be repeated H                                                                        /G                               NOTES$K_ENTRY_NAME  > repeated          / F                                                                      /E                               NOTES$K_STATUS                        /t  J                   The first NOTES$K_STATUS shown above is for the NOTES$K_N                   CLASS_GET operation, and the second is for the final (unsuc-G                   cessful) NOTES$K_CLASS_GET_ENTRY done for each class.e  (                   NOTES$K_ENTRY_GET = 42  L                   In a NOTES$K_ENTRY_GET request a client may specify one ofK                   two hints, NOTES$K_ENTRY_HINT_GET_CLASS or NOTES$K_ENTRY_t1                   HINT_GET_KEYWORD, but not both.   M                   If NOTES$K_ENTRY_HINT_GET_CLASS is specified, then for each L                   entry, the server does a NOTES$K_ENTRY_GET_CLASS and sends.                   the results in its response.                                /                9-14  VAX Notes Network Protocoln r  n                      ;                           ENTRY_GET (from server to client)d  E                               NOTES$K_TLV_OUTPUT                    \ F                                   NOTES$K_ENTRY_NAME                 \G                                   ...                                 \ ]                               NOTES$K_STATUS                           \ This may be repeatednH                                                                        /G                               NOTES$K_CLASS_NAME   > repeated         /fF                                                                      /E                               NOTES$K_STATUS                        /   O                   If NOTES$K_ENTRY_HINT_GET_KEYWORD is specified, then for each N                   entry, the server does a NOTES$K_ENTRY_GET_KEYWORD and sends.                   the results in its response.  ;                           ENTRY_GET (from server to client)   E                               NOTES$K_TLV_OUTPUT                    \ F                                   NOTES$K_ENTRY_NAME                 \G                                   ...                                 \_]                               NOTES$K_STATUS                           \ This may be repeatedTH                                                                        /G                               NOTES$K_KEYWORD_NAME   > repeated       / F                                                                      /E                               NOTES$K_STATUS                        /   '                   NOTES$K_NOTE_GET = 21A  M                   This is requested as described above. The server's responseoL                   may include multiple NOTES$K_TLV_OUTPUT TLVs, one for each&                   note found/selected.  O                   If the NOTES$K_NOTE_GET request includes a NOTES$K_NOTE_HINT_ M                   GET_KEYWORD TLV in its NOTES$K_TLV_INPUT TLV, then for each2O                   note, the server does NOTES$K_NOTE_GET_KEYWORD operations andoN                   sends the resulting keywords in its response. If the requestJ                   includes a NOTES$K_NOTE_HINT_GET_TEXT TLV, then for eachM                   note, the server does NOTES$K_NOTE_GET_TEXT operations, andbL                   sends the results in its response. The two hints cannot be%                   specified together.n          O                                                VAX Notes Network Protocol  9-15                            ;                   If NOTES$K_NOTE_GET_KEYWORD is specified:   :                           NOTE_GET (from server to client)  E                               NOTES$K_TLV_OUTPUT                    \nF                                   NOTES$K_NOTE_UID                   \G                                   ...                                 \ ]                               NOTES$K_STATUS                           \ This may be repeated_H                                                                        /G                               NOTES$K_KEYWORD_NAME   > repeated       /OF                                                                      /E                               NOTES$K_STATUS                        /   8                   If NOTES$K_NOTE_GET_TEXT is specified:  :                           NOTE_GET (from server to client)  C                               NOTES$K_TLV_OUTPUT                  \SD                                   NOTES$K_NOTE_UID                 \E                                   ...                               \dF                               NOTES$K_STATUS                         \\                                                                       > This may be repeatedF                               NOTES$K_TEXT_TYPE      \ repeated      /E                               NOTES$K_TEXT_STRING    /              / D                                                                    /C                               NOTES$K_STATUS                      /e  N                   The NOTES$K_TEXT_TYPE may be absent, since early versions ofG                   VAX Notes (prior to protocol 2/3) did not include it.d  K                   The first NOTES$K_STATUS shown above (in each diagram) is K                   for the NOTES$K_NOTE_GET operation, and the second is foroO                   the final (unsuccessful) NOTES$K_NOTE_GET_KEYWORD or NOTES$K_ =                   NOTE_GET_TEXT operation done for each note.   J                   If NOTES$K_NOTE_SEARCH_STRING is specified with NOTES$K_L                   NOTE_GET_TEXT, then the server empties/sends its buffer atL                   the end of each note, rather than waiting until the bufferO                   fills. This is consistent with the protocol, and gives better N                   user-perceived performance, as the results of a long-lastingK                   SEARCH command are sent to the client as soon as they arenO                   available, rather than being further delayed until the bufferK>                   is full or all the notes have been searched.    /                9-16  VAX Notes Network Protocol  a  t                      ,                   NOTES$K_NOTE_ADD_TEXT = 19  K                   To reduce the number of packets sent when a user writes a N                   note, the client can specify multiple lines of text within a!                   single message.   ?                           NOTE_ADD_TEXT (from client to server)   3                               NOTES$K_NOTE_ADD_TEXTEG                                   NOTES$K_TEXT_STRING      \ repeatable,I                                   NOTES$K_TEXT_TYPE        / in any ordery2                                   NOTES$K_TEXT_END  ?                           NOTE_ADD_TEXT (from server to client)i  3                               NOTES$K_NOTE_ADD_TEXTa0                                   NOTES$K_STATUS  "                   NOTES$K_MORE = 2  H                   If a message overflows the buffer size (currently 1024I                   bytes), then the buffer/packet is sent with the EOM bit L                   clear. The other process can request more (with a NOTES$K_N                   MORE message), and the next packet continues (after the ini-B                   tial two bytes) where the previous one left off.  N                   The MORE message itself is also sent with the EOM bit clear.                                    O                                                VAX Notes Network Protocol  9-17  T  K                      6                           MORE (from client to server)  *                               NOTES$K_MOREc                                   NOTES$K_REQUEST_CONTEXT           Longword context of the request   .                   NOTES$K_CANCEL_REQUEST = 135  1                   NOTES$K_REQUEST_CANCELLED = 136   K                   Some server operations may take a long time. To cancel an J                   operation, the client sends a CANCEL_REQUEST message. InO                   response, the server cancels the current operation, and sendsSJ                   back a REQUEST_CANCELLED message. The client should readJ                   until it sees the REQUEST_CANCELLED message, since it isM                   possible that the server did not receive the CANCEL_REQUEST D                   message until after it sent its previous response.  @                           CANCEL_REQUEST (from client to server)  S                               NOTES$K_CANCEL_REQUEST                (with Length 0)   @                           CANCEL_REQUEST (from server to client)  S                               NOTES$K_REQUEST_CANCELLED             (with Length 0)S                                          /                9-18  VAX Notes Network Protocol  T  K                                  O                                                                         Part II O                                                   VAX Notes Routines DictionaryEO                ________________________________________________________________  T  K                      O                                                                 NOTES$CLASS_ADDP      O                ________________________________________________________________                   NOTES$CLASS_ADD  M                   Creates a class record if the entry name is missing. If themM                   entry name is specified, NOTES$CLASS_ADD adds that entry toe                   the class.  K                ____________________________________________________________                   Formato  ;                   NOTES$CLASS_ADD  (context,input-item-list   <                                         [,output-item-list])  K                ____________________________________________________________T                  Arguments                     contextr'                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modifyo,                      Mechanism: by reference  K                   The address of a longword that contains the class contexto0                   returned by NOTES$CLASS_BEGIN.  !                   input-item-listt+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theI                   following list. NOTES$K_CLASS_NAME is required. All theK&                   others are optional.  '                      NOTES$K_CLASS_NAME ,                      NOTES$K_CLASS_USER_AREA'                      NOTES$K_ENTRY_NAMEe  O                                                                               3c n  p                                      NOTES$CLASS_ADD      %                      NOTES$K_NOSIGNAL   "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from.8                   the following list. Both are optional.  '                      NOTES$K_CLASS_NAMEe,                      NOTES$K_CLASS_USER_AREA  K                ____________________________________________________________r                  Description  K                   The NOTES$CLASS_ADD routine creates a class record if theTH                   entry name is missing. If the entry name is specified,?                   NOTES$CLASS_ADD adds that entry to the class.r  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                  4 R  E                      O                                                                 NOTES$CLASS_ADD     O                   _____________________________________________________________wO                   Return_Code___________Description___________Status___________t                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                                 O                                                                               5n m  o                                       NOTES$CLASS_BEGIN      O                ________________________________________________________________L                   NOTES$CLASS_BEGIN  N                   Creates and initializes the class context for later calls to+                   NOTES$CLASS_xxx routines.m  K                ____________________________________________________________E                  Formatt  =                   NOTES$CLASS_BEGIN  (context,input-item-list   >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify_,                      Mechanism: by reference  K                   The address of a longword that will receive class context                    information.  !                   input-item-list +                      VMS Usage: item_list_3W.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. NOTES$K_NOTEFILE_CONTEXT is required. The $                   other is optional.  %                      NOTES$K_NOSIGNAL -                      NOTES$K_NOTEFILE_CONTEXT                   6                           O                                                               NOTES$CLASS_BEGIN       "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 8                   the following list. Both are optional.  '                      NOTES$K_CLASS_NAME ,                      NOTES$K_CLASS_USER_AREA  K                ____________________________________________________________                   Description  K                   The NOTES$CLASS_BEGIN routine creates and initializes the L                   class context for later calls to NOTES$CLASS_xxx routines.  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________E                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?    O                                                                               7     t                                       NOTES$CLASS_BEGIN    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________$                                                                                    8                           O                                                              NOTES$CLASS_DELETE       O                ________________________________________________________________   !                NOTES$CLASS_DELETE   K                   Deletes the class record if the entry name is missing. If N                   the entry name is specified, NOTES$CLASS_DELETE deletes that'                   entry from the class.   K                ____________________________________________________________$                  Formato  >                   NOTES$CLASS_DELETE  (context,input-item-list  ?                                            [,output-item-list])A  K                ____________________________________________________________                   Arguments                     contextn'                      VMS Usage: contextw.                      Type: longword (unsigned)#                      Access: modifyK,                      Mechanism: by reference  K                   The address of a longword that contains the class contextn0                   returned by NOTES$CLASS_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theI                   following list. NOTES$K_CLASS_NAME is required. All the\&                   others are optional.  '                      NOTES$K_CLASS_NAME #                      NOTES$K_DELIFO '                      NOTES$K_ENTRY_NAMEp  O                                                                               9                            !                NOTES$CLASS_DELETE       %                      NOTES$K_NOSIGNAL   "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes fromi8                   the following list. Both are optional.  '                      NOTES$K_CLASS_NAME ,                      NOTES$K_CLASS_USER_AREA  K                ____________________________________________________________                   Description  L                   The NOTES$CLASS_DELETE routine deletes the class record ifL                   the entry name is missing. If the entry name is specified,G                   NOTES$CLASS_DELETE deletes that entry from the class.   O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________T                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                  10d l  e                      O                                                              NOTES$CLASS_DELETE     O                   _____________________________________________________________eO                   Return_Code___________Description___________Status___________d                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                                 O                                                                              11  e  r                                      NOTES$CLASS_END      O                ________________________________________________________________                   NOTES$CLASS_END  ;                   Deletes or deallocates the class context.o  K                ____________________________________________________________                   Format   =                   NOTES$CLASS_END  (context[,input-item-list]   <                                         [,output-item-list])  K                ____________________________________________________________r                  Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that contains the class context 0                   returned by NOTES$CLASS_BEGIN.  !                   input-item-list(+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  K                   An item list consisting of the following single, optional                    item code:  %                      NOTES$K_NOSIGNAL   "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference                  12                            O                                                                 NOTES$CLASS_END         O                   An item list consisting of one or more output item codes from 8                   the following list. Both are optional.  '                      NOTES$K_CLASS_NAMEO,                      NOTES$K_CLASS_USER_AREA  K                ____________________________________________________________                   Description  N                   The NOTES$CLASS_END routine deletes or deallocates the class:                   context. The context longword is zeroed.  O                   _____________________________________________________________,O                   Return_Code___________Description___________Status___________o                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?      O                                                                              13s c  .                                      NOTES$CLASS_END    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________   O                   NOTES$_?_____________________________________________________                                                                                             14                            O                                                                 NOTES$CLASS_GETr      O                ________________________________________________________________                   NOTES$CLASS_GET  L                   Gets information about a class or, if NOTES$K_CONTINUE was,                   specified, the next class.  K                ____________________________________________________________                   Format   ;                   NOTES$CLASS_GET  (context,input-item-listn  <                                         [,output-item-list])  K                ____________________________________________________________r                  Arguments                     contextt'                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that contains the class context 0                   returned by NOTES$CLASS_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3s.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theI                   following list. NOTES$K_CLASS_NAME is required. All thee&                   others are optional.  1                      NOTES$K_CLASS_HINT_GET_ENTRYd'                      NOTES$K_CLASS_NAME %                      NOTES$K_CONTINUEe%                      NOTES$K_NOSIGNAL   O                                                                              15  n                                         NOTES$CLASS_GET      "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 8                   the following list. Both are optional.  '                      NOTES$K_CLASS_NAMEE,                      NOTES$K_CLASS_USER_AREA  K                ____________________________________________________________N                  Description  L                   The NOTES$CLASS_GET routine gets information about a classH                   or, if NOTES$K_CONTINUE was specified, the next class.  O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                    16r a  i                      O                                                                 NOTES$CLASS_GET_    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________m                                                                    O                                                                              17c :  d                      $                NOTES$CLASS_GET_ENTRY      O                ________________________________________________________________   $                NOTES$CLASS_GET_ENTRY  M                   Gets information about entries belonging to the class spec- M                   ified by the most recent NOTES$CLASS_GET call for this con-n                   text.M  K                ____________________________________________________________o                  Format   A                   NOTES$CLASS_GET_ENTRY  (context,input-item-listh  B                                               [,output-item-list])  K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that contains the class context 0                   returned by NOTES$CLASS_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or both item codes from the4                   following list. Both are optional.  %                      NOTES$K_CONTINUE %                      NOTES$K_NOSIGNAL                   18  t                         O                                                           NOTES$CLASS_GET_ENTRY,      "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   '                      NOTES$K_CLASS_NAMEE,                      NOTES$K_CLASS_USER_AREA'                      NOTES$K_ENTRY_NAMER  K                ____________________________________________________________                   Description  J                   The NOTES$CLASS_GET_ENTRY routine gets information aboutM                   entries belonging to the class specified by the most recent_8                   NOTES$CLASS_GET call for this context.  O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?    O                                                                              19  t  i                      $                NOTES$CLASS_GET_ENTRY    O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________E                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?______________________________________________________                                                                                20V U  e                      O                                                              NOTES$CLASS_MODIFY       O                ________________________________________________________________h  !                NOTES$CLASS_MODIFY   :                   Modifies information stored for a class.  K                ____________________________________________________________w                  Format   >                   NOTES$CLASS_MODIFY  (context,input-item-list  ?                                            [,output-item-list])e  K                ____________________________________________________________T                  Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that contains the class contexti0                   returned by NOTES$CLASS_BEGIN.  !                   input-item-listw+                      VMS Usage: item_list_3r.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theI                   following list. NOTES$K_CLASS_NAME is required. All the &                   others are optional.  '                      NOTES$K_CLASS_NAME +                      NOTES$K_CLASS_NEW_NAMEh,                      NOTES$K_CLASS_USER_AREA%                      NOTES$K_NOSIGNALt  O                                                                              21_ _  _                      !                NOTES$CLASS_MODIFY       "                   output-item-list+                      VMS Usage: item_list_3O.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 8                   the following list. Both are optional.  '                      NOTES$K_CLASS_NAME ,                      NOTES$K_CLASS_USER_AREA  K                _____________________________________________________________                  Description  I                   The NOTES$CLASS_MODIFY routine modifies the information_%                   stored for a class.?  O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                    22  e                         O                                                              NOTES$CLASS_MODIFYS    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________F                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                                     O                                                                              23     V                                      NOTES$ENTRY_ADD      O                ________________________________________________________________r                  NOTES$ENTRY_ADD  7                   Adds an entry to the specified class.   K                ____________________________________________________________s                  FormatV  ;                   NOTES$ENTRY_ADD  (context,input-item-lists  <                                         [,output-item-list])  K                ____________________________________________________________e                  Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modifyM,                      Mechanism: by reference  K                   The address of a longword that contains the entry context 0                   returned by NOTES$ENTRY_BEGIN.  !                   input-item-listN+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theO                   following list. NOTES$K_ENTRY_NAME and NOTES$K_NOTEFILE_FILE_eA                   NAME are required. All the others are optional.h  '                      NOTES$K_CLASS_NAMES.                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAME_.                      NOTES$K_ENTRY_OBJECT_NAME,                      NOTES$K_ENTRY_USER_AREA%                      NOTES$K_NOSIGNALd                  24r f                         O                                                                 NOTES$ENTRY_ADDS      -                      NOTES$K_NOTE_BEFORE_TIME ,                      NOTES$K_NOTE_SINCE_TIME2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLE %                      NOTES$K_SEEN_MAP_  "                   output-item-list+                      VMS Usage: item_list_3e.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAME .                      NOTES$K_ENTRY_OBJECT_NAME-                      NOTES$K_ENTRY_UNSEEN_EST_,                      NOTES$K_ENTRY_USER_AREA2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME_.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREVx/                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLE %                      NOTES$K_SEEN_MAP     O                                                                              25     c                                      NOTES$ENTRY_ADD      K                ____________________________________________________________$                  Description  L                   The NOTES$ENTRY_ADD routine adds an entry to the specified                   class.  O                   _____________________________________________________________yO                   Return_Code___________Description___________Status___________o                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                 26                            O                                                               NOTES$ENTRY_BEGIN       O                ________________________________________________________________T                   NOTES$ENTRY_BEGIN  N                   Creates and initializes the entry context for later calls to+                   NOTES$ENTRY_xxx routines.L  K                ____________________________________________________________e                  Formate  =                   NOTES$ENTRY_BEGIN  (context,input-item-list_  >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: contextO.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that will receive entry context                    information.  !                   input-item-list.+                      VMS Usage: item_list_3C.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. NOTES$K_NOTEFILE_CONTEXT is required. The $                   other is optional.  %                      NOTES$K_NOSIGNAL -                      NOTES$K_NOTEFILE_CONTEXT   O                                                                              27_ _  _                                       NOTES$ENTRY_BEGIN      "                   output-item-list+                      VMS Usage: item_list_3$.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes fromu7                   the following list. All are optional.,  .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAME_.                      NOTES$K_ENTRY_OBJECT_NAME-                      NOTES$K_ENTRY_UNSEEN_ESTe,                      NOTES$K_ENTRY_USER_AREA2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAMEn.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLE %                      NOTES$K_SEEN_MAP   K                ____________________________________________________________                   Description  K                   The NOTES$ENTRY_BEGIN routine creates and initializes theTL                   entry context for later calls to NOTES$ENTRY_xxx routines.  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                    28_                           O                                                               NOTES$ENTRY_BEGIN     O                   _____________________________________________________________oO                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                         O                                                                              29_ e  i                      !                NOTES$ENTRY_DELETEO      O                ________________________________________________________________   !                NOTES$ENTRY_DELETE?  +                   Deletes the entry record.   K                ____________________________________________________________                   Format   >                   NOTES$ENTRY_DELETE  (context,input-item-list  ?                                            [,output-item-list])_  K                ____________________________________________________________n                  Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify_,                      Mechanism: by reference  K                   The address of a longword that contains the entry context 0                   returned by NOTES$ENTRY_BEGIN.  !                   input-item-listT+                      VMS Usage: item_list_3_.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theI                   following list. NOTES$K_ENTRY_NAME is required. All the &                   others are optional.  '                      NOTES$K_CLASS_NAME #                      NOTES$K_DELIFO '                      NOTES$K_ENTRY_NAME-%                      NOTES$K_NOSIGNAL                   30, p  i                      O                                                              NOTES$ENTRY_DELETE       "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAMET.                      NOTES$K_ENTRY_OBJECT_NAME-                      NOTES$K_ENTRY_UNSEEN_ESTm,                      NOTES$K_ENTRY_USER_AREA2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATORO,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLE %                      NOTES$K_SEEN_MAPy  K                ____________________________________________________________t                  Description  J                   The NOTES$ENTRY_DELETE routine deletes the entry record.  O                   _____________________________________________________________KO                   Return_Code___________Description___________Status____________                     NOTES$_?                     NOTES$_?      O                                                                              31e g                         !                NOTES$ENTRY_DELETE     O                   ______________________________________________________________O                   Return_Code___________Description___________Status____________                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                         32N S  A                      O                                                                 NOTES$ENTRY_END       O                ________________________________________________________________                   NOTES$ENTRY_END  ;                   Deletes or deallocates the entry context.   K                ____________________________________________________________                   Format   =                   NOTES$ENTRY_END  (context[,input-item-list]   <                                         [,output-item-list])  K                _____________________________________________________________                  Arguments                     contextC'                      VMS Usage: contexts.                      Type: longword (unsigned)#                      Access: modify_,                      Mechanism: by reference  K                   The address of a longword that contains the entry context 0                   returned by NOTES$ENTRY_BEGIN.  !                   input-item-list_+                      VMS Usage: item_list_3_.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of the following, optional item code:c  %                      NOTES$K_NOSIGNAL   "                   output-item-list+                      VMS Usage: item_list_3n.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                                                                              33  c  i                                      NOTES$ENTRY_END        O                   An item list consisting of one or more output item codes fromS7                   the following list. All are optional.e  .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAMEN.                      NOTES$K_ENTRY_OBJECT_NAME-                      NOTES$K_ENTRY_UNSEEN_EST ,                      NOTES$K_ENTRY_USER_AREA2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLE %                      NOTES$K_SEEN_MAP   K                _____________________________________________________________                  Description  N                   The NOTES$ENTRY_END routine deletes or deallocates the entry:                   context. The context longword is zeroed.  O                   ______________________________________________________________O                   Return_Code___________Description___________Status____________                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                      34O $                         O                                                                 NOTES$ENTRY_END     O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                 O                                                                              35                                            NOTES$ENTRY_GET      O                _________________________________________________________________                  NOTES$ENTRY_GET  9                   Gets information from the entry record.e  K                _____________________________________________________________                  Format   ;                   NOTES$ENTRY_GET  (context,input-item-listx  <                                         [,output-item-list])  K                _____________________________________________________________                  Arguments                     context '                      VMS Usage: contextV.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that contains the entry context 0                   returned by NOTES$ENTRY_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3U.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theI                   following list. NOTES$K_ENTRY_NAME is required. All thed&                   others are optional.  '                      NOTES$K_CLASS_NAMEp%                      NOTES$K_CONTINUEK1                      NOTES$K_ENTRY_HINT_GET_CLASSS3                      NOTES$K_ENTRY_HINT_GET_KEYWORD '                      NOTES$K_ENTRY_NAMEA                  36  N  S                      O                                                                 NOTES$ENTRY_GET       %                      NOTES$K_NOSIGNAL   "                   output-item-list+                      VMS Usage: item_list_3_.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAME .                      NOTES$K_ENTRY_OBJECT_NAME-                      NOTES$K_ENTRY_UNSEEN_EST ,                      NOTES$K_ENTRY_USER_AREA2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAMEt.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREVn/                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLE %                      NOTES$K_SEEN_MAP   K                ____________________________________________________________E                  Description  M                   The NOTES$ENTRY_GET routine gets information from the entryA                   record.T  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________T                     NOTES$_?    O                                                                              37     N                                      NOTES$ENTRY_GET    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?______________________________________________________                                                    38i o  _                      O                                                           NOTES$ENTRY_GET_CLASS       O                ________________________________________________________________   $                NOTES$ENTRY_GET_CLASS  N                   Gets information about the classes to which an entry belongsN                   (the entry specified by the most recent NOTES$ENTRY_GET call#                   for the context)._  K                ____________________________________________________________                   Format   A                   NOTES$ENTRY_GET_CLASS  (context,input-item-list   B                                               [,output-item-list])  K                ____________________________________________________________                   Arguments                     contextO'                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modifya,                      Mechanism: by reference  K                   The address of a longword that contains the entry contexte0                   returned by NOTES$ENTRY_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the4                   following list. Both are optional.  %                      NOTES$K_CONTINUE %                      NOTES$K_NOSIGNAL   O                                                                              39                            $                NOTES$ENTRY_GET_CLASS      "                   output-item-list+                      VMS Usage: item_list_3r.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   '                      NOTES$K_CLASS_NAME .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAME .                      NOTES$K_ENTRY_OBJECT_NAME-                      NOTES$K_ENTRY_UNSEEN_EST ,                      NOTES$K_ENTRY_USER_AREA2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAMEt.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREVT/                      NOTES$K_NOTEFILE_MODERATORT,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLEN%                      NOTES$K_SEEN_MAP   K                ____________________________________________________________                   Description  N                   The NOTES$ENTRY_GET_CLASS routine gets information about theO                   classes to which an entry belongs (the entry specified by the D                   most recent NOTES$ENTRY_GET call for the context).  O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________r                     NOTES$_?                    40t    a                      O                                                           NOTES$ENTRY_GET_CLASS     O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________O                                    O                                                                              41  E  ?                      &                NOTES$ENTRY_GET_KEYWORD      O                ________________________________________________________________?  &                NOTES$ENTRY_GET_KEYWORD  J                   Gets information about keywords or markers for an entry.  K                ____________________________________________________________                   FormatT  C                   NOTES$ENTRY_GET_KEYWORD  (context,input-item-list_  D                                                 [,output-item-list])  K                _____________________________________________________________                  Arguments                     context '                      VMS Usage: context$.                      Type: longword (unsigned)#                      Access: modify[,                      Mechanism: by reference  K                   The address of a longword that contains the entry contextn0                   returned by NOTES$ENTRY_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the4                   following list. Both are optional.  %                      NOTES$K_CONTINUET%                      NOTES$K_NOSIGNAL                       42                            O                                                         NOTES$ENTRY_GET_KEYWORDo      "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAMEp.                      NOTES$K_ENTRY_OBJECT_NAME-                      NOTES$K_ENTRY_UNSEEN_EST ,                      NOTES$K_ENTRY_USER_AREA)                      NOTES$K_KEYWORD_NAMEf2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLE %                      NOTES$K_SEEN_MAPN  K                ____________________________________________________________S                  Description  L                   The NOTES$ENTRY_GET_KEYWORD routine gets information about3                   keywords or markers for an entry.S  O                   _____________________________________________________________NO                   Return_Code___________Description___________Status____________                     NOTES$_?      O                                                                              43R E  E                      &                NOTES$ENTRY_GET_KEYWORD    O                   _____________________________________________________________dO                   Return_Code___________Description___________Status___________?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                     44$                           O                                                              NOTES$ENTRY_MODIFY       O                ________________________________________________________________   !                NOTES$ENTRY_MODIFY_  ?                   Modifies the information stored for an entry.   K                ____________________________________________________________                   Format   >                   NOTES$ENTRY_MODIFY  (context,input-item-list  ?                                            [,output-item-list])N  K                ____________________________________________________________                   Arguments                     context_'                      VMS Usage: contextr.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that contains the entry context_0                   returned by NOTES$ENTRY_BEGIN.  !                   input-item-listU+                      VMS Usage: item_list_3n.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theI                   following list. All are optional. NOTES$K_ENTRY_NAME is 8                   required. All the others are optional.  .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAMEr+                      NOTES$K_ENTRY_NEW_NAMEn.                      NOTES$K_ENTRY_OBJECT_NAME,                      NOTES$K_ENTRY_USER_AREA%                      NOTES$K_NOSIGNAL   O                                                                              45e                           !                NOTES$ENTRY_MODIFYM      2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAMES.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREVf/                      NOTES$K_NOTEFILE_MODERATORr,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLES%                      NOTES$K_SEEN MAPE  "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from_7                   the following list. All are optional.   .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAMEE.                      NOTES$K_ENTRY_OBJECT_NAME-                      NOTES$K_ENTRY_UNSEEN_EST ,                      NOTES$K_ENTRY_USER_AREA2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV_/                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLE %                      NOTES$K_SEEN_MAP                         46                            O                                                              NOTES$ENTRY_MODIFY_      K                _____________________________________________________________                  Description  I                   The NOTES$ENTRY_MODIFY routine modifies the information &                   stored for an entry.  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status____________                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                 O                                                                              47                            !                NOTES$ENTRY_UPDATE       O                _________________________________________________________________  !                NOTES$ENTRY_UPDATE_  O                   Updates statistics for an entry (or entries, if wildcards are                    used).  K                ____________________________________________________________f                  FormatM  >                   NOTES$ENTRY_UPDATE  (context,input-item-list  ?                                            [,output-item-list])   K                ____________________________________________________________V                  Arguments                     contextr'                      VMS Usage: context:.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that contains the entry contextd0                   returned by NOTES$ENTRY_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theI                   following list. NOTES$K_ENTRY_NAME is required. All the &                   others are optional.  '                      NOTES$K_CLASS_NAME %                      NOTES$K_CONTINUE '                      NOTES$K_ENTRY_NAME %                      NOTES$K_NOSIGNAL 2                      NOTES$K_NOTEFILE_DEFAULT_NAME                  48t n  t                      O                                                              NOTES$ENTRY_UPDATE       /                      NOTES$K_NOTEFILE_FILE_NAME 2                      NOTES$K_NOTEFILE_RELATED_NAME  "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes fromS7                   the following list. All are optional.L  .                      NOTES$K_ENTRY_LAST_STATUS'                      NOTES$K_ENTRY_NAMEN.                      NOTES$K_ENTRY_OBJECT_NAME-                      NOTES$K_ENTRY_UNSEEN_ESTT,                      NOTES$K_ENTRY_USER_AREA2                      NOTES$K_NOTEFILE_DEFAULT_NAME0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREVr/                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES2                      NOTES$K_NOTEFILE_RELATED_NAME+                      NOTES$K_NOTEFILE_TITLE %                      NOTES$K_SEEN_MAP   K                ____________________________________________________________T                  Description  J                   The NOTES$ENTRY_UPDATE routine updates statistics for an<                   entry (or entries, if wildcards are used).  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?  O                                                                              49?                           !                NOTES$ENTRY_UPDATE_    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                     50_ _  _                      O                                                               NOTES$KEYWORD_ADD       O                ________________________________________________________________                    NOTES$KEYWORD_ADD  O                   Creates a keyword record if both the entry name and the note-OK                   ID are missing; creates a keyword reference if either ther9                   entry name or the note-ID is specified.   K                ____________________________________________________________w                  Formatr  =                   NOTES$KEYWORD_ADD  (context,input-item-list   >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     contextr'                      VMS Usage: contextt.                      Type: longword (unsigned)#                      Access: modifyh,                      Mechanism: by reference  M                   The address of a longword that contains the keyword context 2                   returned by NOTES$KEYWORD_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. NOTES$K_KEYWORD_NAME is required. All the &                   others are optional.  '                      NOTES$K_ENTRY_NAMET)                      NOTES$K_KEYWORD_NAMES.                      NOTES$K_KEYWORD_USER_AREA%                      NOTES$K_NOSIGNALT  O                                                                              51                                             NOTES$KEYWORD_ADD      $                      NOTES$K_NOTE_ID%                      NOTES$K_NOTE_UID %                      NOTES$K_UNIENTRY   "                   output-item-list+                      VMS Usage: item_list_3_.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 8                   the following list. Both are optional.  )                      NOTES$K_KEYWORD_NAME_.                      NOTES$K_KEYWORD_USER_AREA  K                ____________________________________________________________o                  Description  K                   The NOTES$KEYWORD_ADD routine creates a keyword record if O                   both the entry name and the note-ID are missing; it creates a N                   keyword reference if either the entry name or the note-ID isM                   specified. If the entry name is not specified, it also adds ;                   the reference to the note (if specified).   K                   Note that this routine and all other keyword routines are 7                   used for markers as well as keywords._  O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                    52$                           O                                                               NOTES$KEYWORD_ADD     O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________o                                                O                                                                              53r T                         "                NOTES$KEYWORD_BEGIN      O                ________________________________________________________________   "                NOTES$KEYWORD_BEGIN  M                   Creates and initializes the keyword context for later calls 0                   to NOTES$KEYWORD_xxx routines.  K                ____________________________________________________________s                  Format   ?                   NOTES$KEYWORD_BEGIN  (context,input-item-lista  @                                             [,output-item-list])  K                ____________________________________________________________                   Arguments                     contextl'                      VMS Usage: contextA.                      Type: longword (unsigned)#                      Access: modifyn,                      Mechanism: by reference  M                   The address of a longword that will receive keyword context                    information.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. NOTES$K_NOTEFILE_CONTEXT is required. Thei$                   other is optional.  %                      NOTES$K_NOSIGNALt-                      NOTES$K_NOTEFILE_CONTEXTl                  54p n                         O                                                             NOTES$KEYWORD_BEGIN       "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes fromK8                   the following list. Both are optional.  )                      NOTES$K_KEYWORD_NAMEF.                      NOTES$K_KEYWORD_USER_AREA  K                ____________________________________________________________                   Description  I                   The NOTES$KEYWORD_BEGIN routine creates and initializesSJ                   the keyword context for later calls to NOTES$KEYWORD_xxx                   routines._  K                   Note that this routine and all other keyword routines are 7                   used for markers as well as keywords.a  O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________u                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?    O                                                                              55_ _  _                      "                NOTES$KEYWORD_BEGIN    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________E                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                                             56                            O                                                            NOTES$KEYWORD_DELETE       O                _________________________________________________________________  #                NOTES$KEYWORD_DELETE   L                   Deletes a keyword record if neither the entry name nor theO                   note-ID is specified. If either the entry name or the note-ID_K                   is specified, this routine deletes the keyword reference;$K                   and if the entry name is not specified and the note-ID is K                   specified, it also deletes the keyword reference from the_                   note._  K                ____________________________________________________________                   Format   @                   NOTES$KEYWORD_DELETE  (context,input-item-list  A                                              [,output-item-list])   K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  M                   The address of a longword that contains the keyword contexto2                   returned by NOTES$KEYWORD_BEGIN.  !                   input-item-listN+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. NOTES$K_KEYWORD_NAME is required. All theG&                   others are optional.  '                      NOTES$K_ENTRY_NAME   O                                                                              57                            #                NOTES$KEYWORD_DELETEN      )                      NOTES$K_KEYWORD_NAMEN%                      NOTES$K_NOSIGNAL $                      NOTES$K_NOTE_ID%                      NOTES$K_NOTE_UIDT  "                   output-item-list+                      VMS Usage: item_list_3K.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 8                   the following list. Both are optional.  )                      NOTES$K_KEYWORD_NAMEr.                      NOTES$K_KEYWORD_USER_AREA  K                ____________________________________________________________                   Description  K                   The NOTES$KEYWORD_DELETE routine deletes a keyword recordlL                   if neither the entry name nor the note-ID is specified. IfI                   either the entry name or the note-ID is specified, this I                   routine deletes the keyword reference; and if the entryEM                   name is not specified and the note-ID is specified, it also >                   deletes the keyword reference from the note.  K                   Note that this routine and all other keyword routines are 7                   used for markers as well as keywords.S  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________A                     NOTES$_?                     NOTES$_?                     NOTES$_?                    584                           O                                                            NOTES$KEYWORD_DELETEF    O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________e                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                             O                                                                              59                                             NOTES$KEYWORD_END      O                _________________________________________________________________                   NOTES$KEYWORD_END  =                   Deletes or deallocates the keyword context.   K                ____________________________________________________________                   Format   ?                   NOTES$KEYWORD_END  (context[,input-item-list]_  >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     context_'                      VMS Usage: context_.                      Type: longword (unsigned)#                      Access: modifyi,                      Mechanism: by reference  M                   The address of a longword that contains the keyword context_2                   returned by NOTES$KEYWORD_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of the following, optional item code:   %                      NOTES$K_NOSIGNAL   "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference                  60e i  c                      O                                                               NOTES$KEYWORD_ENDe        O                   An item list consisting of one or more output item codes fromC8                   the following list. Both are optional.  )                      NOTES$K_KEYWORD_NAME .                      NOTES$K_KEYWORD_USER_AREA  K                ____________________________________________________________                   Description  J                   The NOTES$KEYWORD_END routine deletes or deallocates theB                   keyword context. The context longword is zeroed.  K                   Note that this routine and all other keyword routines areV7                   used for markers as well as keywords.r  O                   _____________________________________________________________mO                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?    O                                                                              61T K  T                                       NOTES$KEYWORD_END    O                   _____________________________________________________________SO                   Return_Code___________Description___________Status___________                      NOTES$_?  O                   NOTES$_?_____________________________________________________N                                                                                        62T K  E                      O                                                               NOTES$KEYWORD_GET       O                ________________________________________________________________                    NOTES$KEYWORD_GET  =                   Gets information about keywords or markers._  K                _____________________________________________________________                  Format_  =                   NOTES$KEYWORD_GET  (context,input-item-list   >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     context_'                      VMS Usage: contextu.                      Type: longword (unsigned)#                      Access: modify$,                      Mechanism: by reference  M                   The address of a longword that contains the keyword context 2                   returned by NOTES$KEYWORD_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. All are optional. NOTES$K_KEYWORD_NAME is_8                   required. All the others are optional.  %                      NOTES$K_CONTINUE '                      NOTES$K_ENTRY_NAME 2                      NOTES$K_KEYWORD_HINT_GET_NOTE)                      NOTES$K_KEYWORD_NAMEc%                      NOTES$K_NOSIGNALr  O                                                                              63_ _  _                                       NOTES$KEYWORD_GET      "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes fromt8                   the following list. Both are optional.  )                      NOTES$K_KEYWORD_NAME .                      NOTES$K_KEYWORD_USER_AREA  K                ____________________________________________________________                   Description  O                   The NOTES$KEYWORD_GET routine gets information about keywordss                   or markers.:  K                   Note that this routine and all other keyword routines are 7                   used for markers as well as keywords.i  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________.                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                  64                            O                                                               NOTES$KEYWORD_GET     O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________o                                                                O                                                                              65                            %                NOTES$KEYWORD_GET_NOTE_      O                ________________________________________________________________   %                NOTES$KEYWORD_GET_NOTEn  K                   Gets information about notes referenced by a keyword (theoM                   keyword specified by the most recent NOTES$KEYWORD_GET call 3                   for this context) or by a marker.p  K                ____________________________________________________________h                  Formati  B                   NOTES$KEYWORD_GET_NOTE  (context,input-item-list  C                                                [,output-item-list])   K                _____________________________________________________________                  Arguments                     contexte'                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify?,                      Mechanism: by reference  M                   The address of a longword that contains the keyword context 2                   returned by NOTES$KEYWORD_BEGIN.  !                   input-item-list_+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the4                   following list. Both are optional.  %                      NOTES$K_CONTINUE?%                      NOTES$K_NOSIGNAL_                  66                            O                                                          NOTES$KEYWORD_GET_NOTE       "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes fromo7                   the following list. All are optional._  '                      NOTES$K_ENTRY_NAME_)                      NOTES$K_KEYWORD_NAME .                      NOTES$K_KEYWORD_USER_AREA$                      NOTES$K_NOTE_ID%                      NOTES$K_NOTE_UID   K                ____________________________________________________________                   Description  K                   The NOTES$KEYWORD_GET_NOTE routine gets information about M                   notes referenced by a keyword (the keyword specified by the N                   most recent NOTES$KEYWORD_GET call for this context) or by a                   marker.e  K                   Note that this routine and all other keyword routines arel7                   used for markers as well as keywords.   O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________i                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?    O                                                                              67L O  X                      %                NOTES$KEYWORD_GET_NOTE     O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________t                                                                    68  N  S                      O                                                            NOTES$KEYWORD_MODIFY       O                ________________________________________________________________   #                NOTES$KEYWORD_MODIFY   )                   Changes a keyword name.O  K                ____________________________________________________________e                  Formatu  @                   NOTES$KEYWORD_MODIFY  (context,input-item-list  A                                              [,output-item-list])_  K                ____________________________________________________________t                  Arguments                     context '                      VMS Usage: contextO.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  M                   The address of a longword that contains the keyword context 2                   returned by NOTES$KEYWORD_BEGIN.  !                   input-item-list_+                      VMS Usage: item_list_3_.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. NOTES$K_KEYWORD_NAME is required. All the_&                   others are optional.  )                      NOTES$K_KEYWORD_NAME5-                      NOTES$K_KEYWORD_NEW_NAME .                      NOTES$K_KEYWORD_USER_AREA%                      NOTES$K_NOSIGNAL   O                                                                              69  T  K                      #                NOTES$KEYWORD_MODIFYd      "                   output-item-list+                      VMS Usage: item_list_3h.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 8                   the following list. Both are optional.  )                      NOTES$K_KEYWORD_NAME_.                      NOTES$K_KEYWORD_USER_AREA  K                ____________________________________________________________p                  Description  J                   The NOTES$KEYWORD_MODIFY routine changes a keyword name.S                   References are created and deleted by calls to the NOTES$KEYWORD_ 8                   ADD and NOTES$KEYWORD_DELETE routines.  N                   If the keyword_new_name does not exist, NOTES$KEYWORD_MODIFYO                   udates the keyword record. Otherwise, the routine effectively O                   uses NOTES$KEYWORD_GET, NOTES$KEYWORD_ADD, and NOTES$KEYWORD_eL                   DELETE to copy all references from the keyword_name to theM                   keyword_new_name, and then deletes the keyword_name record.g  K                   Note that this routine and all other keyword routines arey7                   used for markers as well as keywords.f  O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                    70                            O                                                            NOTES$KEYWORD_MODIFYT    O                   _____________________________________________________________TO                   Return_Code___________Description___________Status___________m                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                 O                                                                              71_ _  _                      #                NOTES$NOTEFILE_BEGIN       O                ________________________________________________________________   #                NOTES$NOTEFILE_BEGINh  J                   Initiates access to a notefile (conference or Notebook).  K                ____________________________________________________________c                  Format   @                   NOTES$NOTEFILE_BEGIN  (context,input-item-list  A                                              [,output-item-list]).  K                ____________________________________________________________                   Arguments                     contextS'                      VMS Usage: context_.                      Type: longword (unsigned)#                      Access: modifye,                      Mechanism: by reference  N                   The address of a longword that will receive notefile contextH                   information (as described in the Description section).  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theM                   following list. NOTES$K_NOTEFILE_FILE_NAME is required. All$*                   the others are optional.  .                      NOTES$K_ENTRY_OBJECT_NAME%                      NOTES$K_NOSIGNAL_,                      NOTES$K_NOTEFILE_CREATE2                      NOTES$K_NOTEFILE_DEFAULT_NAME/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_MODERATE                  72T K  O                      O                                                            NOTES$NOTEFILE_BEGIN       /                      NOTES$K_NOTEFILE_MODERATOR 2                      NOTES$K_NOTEFILE_RELATED_NAME0                      NOTES$K_NOTEFILE_REPLY_ONLY%                      NOTES$K_SEEN_MAP 0                      NOTES$K_USER_CREATE_KEYWORD  J                   The following item codes are allowed as input items whenO                   NOTES$K_NOTEFILE_CREATE is passed to the NOTES$NOTEFILE_BEGIN_                   routine.  ,                      NOTES$K_NOTEFILE_NOTICE0                      NOTES$K_NOTEFILE_RESTRICTED+                      NOTES$K_NOTEFILE_TITLE /                      NOTES$K_NOTEFILE_USER_AREAm/                      NOTES$K_NOTEFILE_WRITELOCKf*                      NOTES$K_USER_MODERATE  "                   output-item-list+                      VMS Usage: item_list_3t.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   .                      NOTES$K_ENTRY_OBJECT_SPEC1                      NOTES$K_NOTEFILE_CREATE_TIMES0                      NOTES$K_NOTEFILE_ENTRYTOTAL,                      NOTES$K_NOTEFILE_FORMAT.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES0                      NOTES$K_NOTEFILE_REPLY_ONLY0                      NOTES$K_NOTEFILE_RESTRICTED1                      NOTES$K_NOTEFILE_RESULT_SPEC +                      NOTES$K_NOTEFILE_TITLE /                      NOTES$K_NOTEFILE_USER_AREA_/                      NOTES$K_NOTEFILE_WRITELOCKr  O                                                                              73e                           #                NOTES$NOTEFILE_BEGIN.      %                      NOTES$K_SEEN_MAPa,                      NOTES$K_SERVER_MAX_ITEM0                      NOTES$K_USER_CREATE_KEYWORD*                      NOTES$K_USER_MODERATE  K                ____________________________________________________________e                  Description  N                   The NOTES$NOTEFILE_BEGIN routine initiates access to a note-M                   file. It creates the notefile if so directed, and opens the O                   file for access by other routines. It creates and initializesEL                   the notefile context for later calls to NOTES$NOTEFILE_xxx'                   routines, as follows:   M                   The context argument is the address of a longword that willSL                   receive context information. Before the call, you must setM                   the value of this longword to zero. The routine then stores_L                   a nonzero context value in the longword. This value can beO                   passed to other operations. The longword must not be modified I                   by the caller. A call to the NOTES$NOTEFILE_END routineEG                   releases the context and resets the longword to zero.   O                   ______________________________________________________________O                   Return_Code___________Description___________Status___________   C                   NOTES$_ ??            Invalid entry name    Error   C                   NOTES$_FAILGETVM      Failure to get        Error 6                                         virtual memory  C                   NOTES$_MISREQITM      Required input item   Error /                                         missing_  C                   NOTES$_WRONGCTX       Context argument      Errorg:                                         with nonzero value  O                   MORE_TBS_____________________________________________________                       74                            O                                                            NOTES$NOTEFILE_BEGINr                      Example 1:uO                ________________________________________________________________   -                IF NOT notebook_open_flag THEN ,                      inp_index = inp_initialS                      CALL ITEM_LIST (inp_index,notes$k_nosignal,plus$1,default_len) d                      CALL ITEM_LIST (inp_index,notes$k_notefile_file_name,notebook_name,default_len)b                      CALL ITEM_LIST (inp_index,notes$k_notefile_default_name,notebook_default    &C                                                       ,default_len)EX                      ret_status = NOTES$NOTEFILE_BEGIN (notebook_l_ctx,inp_list,no_list)A                      GOTO 2005 UNLESS (ret_status AND ss$_normal) 8                ! Prepare for getting notebook entry info_                      CALL ITEM_LIST (minus_1,notes$k_notefile_context,notebook_ctx,default_len) R                      ret_status = NOTES$ENTRY_BEGIN (entry_l_ctx,one_list,no_list)1                      notebook_open_flag = minus_1                 END IF   O                ________________________________________________________________t  F                   This excerpt from a program in BASIC shows a call toM                   NOTES$NOTEFILE_BEGIN in preparation for getting information &                   on a Notebook entry.                                      O                                                                              75                            !                NOTES$NOTEFILE_ENDk      O                ________________________________________________________________d  !                NOTES$NOTEFILE_END   :                   Deletes or deallocates notefile context.  K                ____________________________________________________________                   Format_  @                   NOTES$NOTEFILE_END  (context[,input-item-list]  ?                                            [,output-item-list])E  K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that that contains the notefile ;                   context returned by NOTES$NOTEFILE_BEGIN._  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  E                   An item list consisting of a single, optional item:   %                      NOTES$K_NOSIGNAL   "                   output-item-list+                      VMS Usage: item_list_3_.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference                  76r r  e                      O                                                              NOTES$NOTEFILE_END         O                   An item list consisting of one or more output item codes from_7                   the following list. All are optional.   .                      NOTES$K_ENTRY_OBJECT_SPEC1                      NOTES$K_NOTEFILE_CREATE_TIME 0                      NOTES$K_NOTEFILE_ENTRYTOTAL,                      NOTES$K_NOTEFILE_FORMAT.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES0                      NOTES$K_NOTEFILE_REPLY_ONLY0                      NOTES$K_NOTEFILE_RESTRICTED1                      NOTES$K_NOTEFILE_RESULT_SPEC_+                      NOTES$K_NOTEFILE_TITLE /                      NOTES$K_NOTEFILE_USER_AREA /                      NOTES$K_NOTEFILE_WRITELOCK %                      NOTES$K_SEEN_MAP ,                      NOTES$K_SERVER_MAX_ITEM0                      NOTES$K_USER_CREATE_KEYWORD*                      NOTES$K_USER_MODERATE  K                ____________________________________________________________                   Description  O                   The NOTES$NOTEFILE_END routine deletes or deallocates a note- M                   file context. This routine is used to terminate access to a O                   notefile. All dynamic memory allocated by the NOTES$ routines O                   when accessing the notefile (including CLASS, ENTRY, KEYWORD, M                   PROFILE, and USER access) is deallocated. The context long-f!                   word is zeroed.o  O                   _____________________________________________________________NO                   Return_Code___________Description___________Status___________                      NOTES$_?    O                                                                              77                            !                NOTES$NOTEFILE_END_    O                   _____________________________________________________________uO                   Return_Code___________Description___________Status___________e                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________C                                                    78                            O                                                         NOTES$NOTEFILE_GET_INFOO      O                ________________________________________________________________   &                NOTES$NOTEFILE_GET_INFO  7                   Obtains information about a notefile.T  K                _____________________________________________________________                  Format   C                   NOTES$NOTEFILE_GET_INFO  (context,input-item-list   D                                                 [,output-item-list])  K                ____________________________________________________________                   Arguments                     context_'                      VMS Usage: context_.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  N                   The address of a longword that contains the notefile context3                   returned by NOTES$NOTEFILE_BEGIN._  !                   input-item-listO+                      VMS Usage: item_list_3w.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  J                   An item list consisting of a single, optional item code:  %                      NOTES$K_NOSIGNAL_  "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                                                                              79y f  n                      &                NOTES$NOTEFILE_GET_INFO        O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.t  .                      NOTES$K_ENTRY_OBJECT_SPEC1                      NOTES$K_NOTEFILE_CREATE_TIME 0                      NOTES$K_NOTEFILE_ENTRYTOTAL,                      NOTES$K_NOTEFILE_FORMAT.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES0                      NOTES$K_NOTEFILE_REPLY_ONLY0                      NOTES$K_NOTEFILE_RESTRICTED1                      NOTES$K_NOTEFILE_RESULT_SPEC +                      NOTES$K_NOTEFILE_TITLE /                      NOTES$K_NOTEFILE_USER_AREA /                      NOTES$K_NOTEFILE_WRITELOCK %                      NOTES$K_SEEN_MAP ,                      NOTES$K_SERVER_MAX_ITEM0                      NOTES$K_USER_CREATE_KEYWORD*                      NOTES$K_USER_MODERATE  K                ____________________________________________________________                   Description  O                   The NOTES$NOTEFILE_GET_INFO routine obtains information aboutN                   a notefile.   O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________a                     NOTES$_?                     NOTES$_?                     NOTES$_?                    80     D                      O                                                         NOTES$NOTEFILE_GET_INFO$    O                   _____________________________________________________________fO                   Return_Code___________Description___________Status___________S                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                             O                                                                              81_ _  t                      "                NOTES$NOTEFILE_LIST      O                ________________________________________________________________   "                NOTES$NOTEFILE_LIST  H                   Collects information on a selected group of notefiles.  K                _____________________________________________________________                  Format   ?                   NOTES$NOTEFILE_LIST  (context,input-item-list_  @                                             [,output-item-list])  K                ____________________________________________________________O                  Arguments                     context '                      VMS Usage: context_.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  K                   The address of a longword that that contains the notefile ;                   context returned by NOTES$NOTEFILE_BEGIN._  !                   input-item-list_+                      VMS Usage: item_list_3T.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  J                   An item list consisting of a single, optional item code:  %                      NOTES$K_NOSIGNALt  "                   output-item-list+                      VMS Usage: item_list_3].                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference                  82     V                      O                                                             NOTES$NOTEFILE_LISTe        O                   An item list consisting of one or more output item codes fromw7                   the following list. All are optional.   .                      NOTES$K_ENTRY_OBJECT_SPEC1                      NOTES$K_NOTEFILE_CREATE_TIME 0                      NOTES$K_NOTEFILE_ENTRYTOTAL,                      NOTES$K_NOTEFILE_FORMAT.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATOR ,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES0                      NOTES$K_NOTEFILE_REPLY_ONLY0                      NOTES$K_NOTEFILE_RESTRICTED1                      NOTES$K_NOTEFILE_RESULT_SPECN+                      NOTES$K_NOTEFILE_TITLEN/                      NOTES$K_NOTEFILE_USER_AREA /                      NOTES$K_NOTEFILE_WRITELOCK %                      NOTES$K_SEEN_MAP ,                      NOTES$K_SERVER_MAX_ITEM0                      NOTES$K_USER_CREATE_KEYWORD*                      NOTES$K_USER_MODERATE  K                ____________________________________________________________A                  Description  I                   The NOTES$NOTEFILE_LIST routine collects information on I                   a selected group of notefiles. The NOTES$NOTEFILE_LIST_ M                   BEGIN routine must be called before the NOTES$NOTEFILE_LISTCK                   routine. You specify the filenames in the NOTES$NOTEFILE_ O                   LIST_BEGIN routine, and collect the information on successive_M                   calls to NOTES$NOTEFILE_LIST until the status NOTES$_NMF isN                   returned.   T                   Any output item codes specified in the call to the NOTES$NOTEFILE_H                   LIST routine must also be specified in the call to theL                   NOTES$NOTEFILE_LIST_BEGIN routine for correct operation on0                   remote conference directories.  O                                                                              83u t  c                      "                NOTES$NOTEFILE_LIST          O                   _____________________________________________________________NO                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?______________________________________________________                                          84T L  I                      O                                                       NOTES$NOTEFILE_LIST_BEGINr      O                ________________________________________________________________   (                NOTES$NOTEFILE_LIST_BEGIN  J                   Initiates the process of collecting notefile names for a3                   directory listing of conferences.   K                ____________________________________________________________                   Format_  E                   NOTES$NOTEFILE_LIST_BEGIN  (context,input-item-listp  F                                                   [,output-item-list])  K                ____________________________________________________________n                  Arguments                     contextr'                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  N                   The address of a longword that contains the notefile context3                   returned by NOTES$NOTEFILE_BEGIN.u  !                   input-item-listf+                      VMS Usage: item_list_3e.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theM                   following list. NOTES$K_NOTEFILE_FILE_NAME is required. All *                   the others are optional.  %                      NOTES$K_NOSIGNAL_2                      NOTES$K_NOTEFILE_DEFAULT_NAME/                      NOTES$K_NOTEFILE_FILE_NAME 2                      NOTES$K_NOTEFILE_RELATED_NAME  O                                                                              85r                           (                NOTES$NOTEFILE_LIST_BEGIN      "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from_7                   the following list. All are optional.   .                      NOTES$K_ENTRY_OBJECT_SPEC1                      NOTES$K_NOTEFILE_CREATE_TIME 0                      NOTES$K_NOTEFILE_ENTRYTOTAL,                      NOTES$K_NOTEFILE_FORMAT.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREVi/                      NOTES$K_NOTEFILE_MODERATORM,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES0                      NOTES$K_NOTEFILE_REPLY_ONLY0                      NOTES$K_NOTEFILE_RESTRICTED1                      NOTES$K_NOTEFILE_RESULT_SPECe+                      NOTES$K_NOTEFILE_TITLE /                      NOTES$K_NOTEFILE_USER_AREA /                      NOTES$K_NOTEFILE_WRITELOCKk%                      NOTES$K_SEEN_MAP ,                      NOTES$K_SERVER_MAX_ITEM0                      NOTES$K_USER_CREATE_KEYWORD*                      NOTES$K_USER_MODERATE  K                ____________________________________________________________                   Description  M                   The NOTES$NOTEFILE_LIST_BEGIN routine initiates the processaJ                   of collecting notefile names, for a directory listing ofM                   conferences. You call the NOTES$NOTEFILE_LIST_BEGIN routinefN                   with the file specification, default file specification, andM                   related file specification. It performs the initialization. O                   After a successful call to NOTES$NOTEFILE_LIST_BEGIN you call N                   NOTES$NOTEFILE_LIST until the status NOTES$_NMF is returned.                  86k                           O                                                       NOTES$NOTEFILE_LIST_BEGINS      K                   For server performance considerations, in the output item I                   list for the NOTES$NOTEFILE_LIST_BEGIN routine you must G                   specify all the items that you specify in the call to,J                   NOTES$NOTEFILE_LIST. However, the items are not returnedG                   on the call to the NOTES$NOTEFILE_LIST_BEGIN routine._    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                 O                                                                              87                            $                NOTES$NOTEFILE_MODIFY      O                ________________________________________________________________l  $                NOTES$NOTEFILE_MODIFY  L                   Updates or changes notefile-level information, such as the:                   title, notice of the day, and moderator.  K                ____________________________________________________________                   Formatt  A                   NOTES$NOTEFILE_MODIFY  (context,input-item-listl  B                                               [,output-item-list])  K                ____________________________________________________________                   Arguments                     contextT'                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  N                   The address of a longword that contains the notefile context3                   returned by NOTES$NOTEFILE_BEGIN.Y  !                   input-item-listL+                      VMS Usage: item_list_3T.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the3                   following list. All are optional.   %                      NOTES$K_NOSIGNAL -                      NOTES$K_NOTE_BEFORE_TIME +                      NOTES$K_NOTE_MARK_SEEN_,                      NOTES$K_NOTE_SINCE_TIME.                      NOTES$K_NOTEFILE_MODERATE/                      NOTES$K_NOTEFILE_MODERATOR                   88t h  r                      O                                                           NOTES$NOTEFILE_MODIFYh      ,                      NOTES$K_NOTEFILE_NOTICE0                      NOTES$K_NOTEFILE_REPLY_ONLY0                      NOTES$K_NOTEFILE_RESTRICTED+                      NOTES$K_NOTEFILE_TITLE /                      NOTES$K_NOTEFILE_USER_AREA_/                      NOTES$K_NOTEFILE_WRITELOCK_%                      NOTES$K_SEEN_MAP_0                      NOTES$K_USER_CREATE_KEYWORD  "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from_7                   the following list. All are optional.   .                      NOTES$K_ENTRY_OBJECT_SPEC1                      NOTES$K_NOTEFILE_CREATE_TIME$0                      NOTES$K_NOTEFILE_ENTRYTOTAL,                      NOTES$K_NOTEFILE_FORMAT.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV /                      NOTES$K_NOTEFILE_MODERATOR_,                      NOTES$K_NOTEFILE_NOTICE.                      NOTES$K_NOTEFILE_NUMNOTES0                      NOTES$K_NOTEFILE_REPLY_ONLY0                      NOTES$K_NOTEFILE_RESTRICTED1                      NOTES$K_NOTEFILE_RESULT_SPEC_+                      NOTES$K_NOTEFILE_TITLE /                      NOTES$K_NOTEFILE_USER_AREA /                      NOTES$K_NOTEFILE_WRITELOCK %                      NOTES$K_SEEN_MAP_,                      NOTES$K_SERVER_MAX_ITEM0                      NOTES$K_USER_CREATE_KEYWORD*                      NOTES$K_USER_MODERATE        O                                                                              89_ _  _                      $                NOTES$NOTEFILE_MODIFY      K                ____________________________________________________________                   Description  F                   The NOTES$NOTEFILE_MODIFY routine updates or changesJ                   notefile-level information, such as the title, notice of)                   the day, and moderator.   O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________u                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________a                              90                            O                                                                  NOTES$NOTE_ADD       O                ________________________________________________________________                   NOTES$NOTE_ADD   0                   Adds a new note to a notefile.  K                ____________________________________________________________K                  Format   :                   NOTES$NOTE_ADD  (context,input-item-list  ;                                        [,output-item-list])T  K                ____________________________________________________________                   Arguments                     contextT'                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$NOTE_BEGIN.F  !                   input-item-listN+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the3                   following list. All are optional.i  %                      NOTES$K_NOSIGNALE*                      NOTES$K_NOTE_BLINK_ID+                      NOTES$K_NOTE_BLINK_UID (                      NOTES$K_NOTE_HIDDEN+                      NOTES$K_NOTE_MARK_SEEN *                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLE   O                                                                              91                                            NOTES$NOTE_ADD       +                      NOTES$K_NOTE_USER_AREAT+                      NOTES$K_NOTE_WRITELOCK_/                      NOTES$K_NOTEFILE_FILE_NAME   "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional._  (                      NOTES$K_NOTE_AUTHOR*                      NOTES$K_NOTE_BLINK_ID-                      NOTES$K_NOTE_BLINK_TITLE +                      NOTES$K_NOTE_BLINK_UID +                      NOTES$K_NOTE_CAN_REPLYL-                      NOTES$K_NOTE_CREATE_TIME_(                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID,                      NOTES$K_NOTE_NUMRECORDS.                      NOTES$K_NOTE_NUMRESPONSES*                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLEF&                      NOTES$K_NOTE_TYPE%                      NOTES$K_NOTE_UID +                      NOTES$K_NOTE_USER_AREAu+                      NOTES$K_NOTE_WRITELOCK_0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREVe.                      NOTES$K_NOTEFILE_NUMNOTES%                      NOTES$K_SEEN_MAP                             92  a  n                      O                                                                  NOTES$NOTE_ADD       K                ____________________________________________________________                   Description  J                   The NOTES$NOTE_ADD routine adds a new note (either topicK                   or reply) to a notefile. Calls to the NOTES$NOTE_ADD_TEXTlI                   routine can then be used to write the text of the note.   L                   The BLINK (back-link) item codes, if present, indicate theM                   note to which the reply is being written. If the BLINK itemyL                   codes are not specified, the note is a topic rather than a                   reply.  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________w                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________     O                                                                              93                            "                NOTES$NOTE_ADD_TEXT      O                ________________________________________________________________   "                NOTES$NOTE_ADD_TEXT  N                   Adds a line of text to the note being written. After all theL                   text has been added by calls to this routine, it should beN                   called again, with the NOTES$K_TEXT_END item code specified.  K                _____________________________________________________________                  Format_  ?                   NOTES$NOTE_ADD_TEXT  (context,input-item-list   @                                             [,output-item-list])  K                ____________________________________________________________                   Arguments                     contextE'                      VMS Usage: contexte.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$NOTE_BEGIN.   !                   input-item-listl+                      VMS Usage: item_list_3I.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the3                   following list. All are optional.t  %                      NOTES$K_CONTINUE %                      NOTES$K_NOSIGNAL %                      NOTES$K_TEXT_END_(                      NOTES$K_TEXT_STRING                  94_ _  _                      O                                                             NOTES$NOTE_ADD_TEXT       &                      NOTES$K_TEXT_TYPE  "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from_7                   the following list. All are optional.I  (                      NOTES$K_NOTE_AUTHOR*                      NOTES$K_NOTE_BLINK_ID-                      NOTES$K_NOTE_BLINK_TITLE_+                      NOTES$K_NOTE_BLINK_UID_+                      NOTES$K_NOTE_CAN_REPLYI-                      NOTES$K_NOTE_CREATE_TIMEc(                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID,                      NOTES$K_NOTE_NUMRECORDS.                      NOTES$K_NOTE_NUMRESPONSES*                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLEu&                      NOTES$K_NOTE_TYPE%                      NOTES$K_NOTE_UID-+                      NOTES$K_NOTE_USER_AREA_+                      NOTES$K_NOTE_WRITELOCK 0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV .                      NOTES$K_NOTEFILE_NUMNOTES%                      NOTES$K_SEEN_MAPa(                      NOTES$K_TEXT_STRING&                      NOTES$K_TEXT_TYPE            O                                                                              95                            "                NOTES$NOTE_ADD_TEXT      K                ____________________________________________________________                   Description  L                   The NOTES$NOTE_ADD_TEXT routine adds a line of text to theJ                   note being written. After all the text has been added byL                   calls to this routine, it should be called again, with the7                   NOTES$K_TEXT_END item code specified.   O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                             96C P                         O                                                                NOTES$NOTE_BEGIN       O                ________________________________________________________________U                  NOTES$NOTE_BEGINT  K                   Initiates note-level access to a currently open notefile.   K                ____________________________________________________________                   FormatS  <                   NOTES$NOTE_BEGIN  (context,input-item-list  =                                          [,output-item-list])   K                _____________________________________________________________                  Arguments                     contextC'                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modifyA,                      Mechanism: by reference  J                   The address of a longword that will receive note context                   information.  !                   input-item-listE+                      VMS Usage: item_list_3r.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. NOTES$K_NOTEFILE_CONTEXT is required. Thet$                   other is optional.  %                      NOTES$K_NOSIGNALT-                      NOTES$K_NOTEFILE_CONTEXT     O                                                                              97k                                           NOTES$NOTE_BEGIN       "                   output-item-list+                      VMS Usage: item_list_3r.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes fromE7                   the following list. All are optional.   (                      NOTES$K_NOTE_AUTHOR*                      NOTES$K_NOTE_BLINK_ID-                      NOTES$K_NOTE_BLINK_TITLE_+                      NOTES$K_NOTE_BLINK_UIDC+                      NOTES$K_NOTE_CAN_REPLY_-                      NOTES$K_NOTE_CREATE_TIME (                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID,                      NOTES$K_NOTE_NUMRECORDS.                      NOTES$K_NOTE_NUMRESPONSES*                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLE?&                      NOTES$K_NOTE_TYPE%                      NOTES$K_NOTE_UID_+                      NOTES$K_NOTE_USER_AREA +                      NOTES$K_NOTE_WRITELOCK 0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAMEL.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREVl.                      NOTES$K_NOTEFILE_NUMNOTES%                      NOTES$K_SEEN_MAPl  K                ____________________________________________________________n                  Description  O                   The NOTES$NOTE_BEGIN routine initiates note-level access to arN                   currently open notefile. It creates and initializes the noteE                   context for later calls to NOTES$NOTE_xxx routines.                     98_ _  _                      O                                                                NOTES$NOTE_BEGIN       O                   The NOTES_NOTE_BEGIN routine must be called before any of the M                   other NOTES$NOTE_xxx routines and after the NOTES$NOTEFILE_eE                   BEGIN routine has been called to open the notefile.i  M                   It is possible to have more than one NOTE_BEGIN/END routine >                   active in the same NOTEFILE_BEGIN/END block.  K                   Note that this routine and all other keyword routines are:7                   used for markers as well as keywords.   O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________N                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________S          O                                                                              99N S  N                                       NOTES$NOTE_DELETE      O                ________________________________________________________________K                   NOTES$NOTE_DELETE  7                   Deletes the specified topic or reply._  K                ____________________________________________________________U                  Format   =                   NOTES$NOTE_DELETE  (context,input-item-listc  >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: contextC.                      Type: longword (unsigned)#                      Access: modifyS,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$NOTE_BEGIN.   !                   input-item-listO+                      VMS Usage: item_list_3I.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the3                   following list. All are optional.   %                      NOTES$K_NOSIGNAL $                      NOTES$K_NOTE_ID%                      NOTES$K_NOTE_UID_                    100 S  S                      O                                                               NOTES$NOTE_DELETEE      "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes fromE7                   the following list. All are optional.   (                      NOTES$K_NOTE_AUTHOR*                      NOTES$K_NOTE_BLINK_ID-                      NOTES$K_NOTE_BLINK_TITLE_+                      NOTES$K_NOTE_BLINK_UID_+                      NOTES$K_NOTE_CAN_REPLY_-                      NOTES$K_NOTE_CREATE_TIME (                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID,                      NOTES$K_NOTE_NUMRECORDS.                      NOTES$K_NOTE_NUMRESPONSES*                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLEO&                      NOTES$K_NOTE_TYPE%                      NOTES$K_NOTE_UID +                      NOTES$K_NOTE_USER_AREA_+                      NOTES$K_NOTE_WRITELOCK 0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV_.                      NOTES$K_NOTEFILE_NUMNOTES%                      NOTES$K_SEEN_MAP                     O                                                                             101                                             NOTES$NOTE_DELETE      K                ____________________________________________________________                   Description  N                   The NOTES$NOTE_DELETE routine deletes the specified topic or                   reply.  O                   _____________________________________________________________eO                   Return_Code___________Description___________Status___________r                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________e                                102 l  n                      O                                                                  NOTES$NOTE_END_      O                ________________________________________________________________T                  NOTES$NOTE_ENDT  :                   Deletes or deallocates the note context.  K                ____________________________________________________________                   Format   <                   NOTES$NOTE_END  (context[,input-item-list]  ;                                        [,output-item-list])S  K                ____________________________________________________________T                  Arguments                     context-'                      VMS Usage: contextm.                      Type: longword (unsigned)#                      Access: modify:,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$NOTE_BEGIN.   !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  N                   An item list consisting of the following optional item code:  %                      NOTES$K_NOSIGNALN  "                   output-item-list+                      VMS Usage: item_list_3S.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                                                                             103                                            NOTES$NOTE_END         O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   (                      NOTES$K_NOTE_AUTHOR*                      NOTES$K_NOTE_BLINK_ID-                      NOTES$K_NOTE_BLINK_TITLE +                      NOTES$K_NOTE_BLINK_UID +                      NOTES$K_NOTE_CAN_REPLY -                      NOTES$K_NOTE_CREATE_TIME (                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID,                      NOTES$K_NOTE_NUMRECORDS.                      NOTES$K_NOTE_NUMRESPONSES*                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLEt&                      NOTES$K_NOTE_TYPE%                      NOTES$K_NOTE_UID +                      NOTES$K_NOTE_USER_AREA +                      NOTES$K_NOTE_WRITELOCK 0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAMEi.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV .                      NOTES$K_NOTEFILE_NUMNOTES%                      NOTES$K_SEEN_MAP_  K                _____________________________________________________________                  Description  L                   The NOTES$NOTE_END routine deletes or deallocates the note:                   context. The context longword is zeroed.  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________E                     NOTES$_?                      104 _  _                      O                                                                  NOTES$NOTE_END     O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                     O                                                                             105i -  t                                      NOTES$NOTE_GET_      O                ________________________________________________________________                   NOTES$NOTE_GETo  J                   Retrieves information about a note or sequence of notes.  K                ____________________________________________________________                   Formatr  :                   NOTES$NOTE_GET  (context,input-item-list  ;                                        [,output-item-list])   K                ____________________________________________________________u                  Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$NOTE_BEGIN.   !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the3                   following list. All are optional.   %                      NOTES$K_CONTINUE )                      NOTES$K_KEYWORD_NAME %                      NOTES$K_NOSIGNALf/                      NOTES$K_NOTE_ALL_RESPONSES (                      NOTES$K_NOTE_AUTHOR+                      NOTES$K_NOTE_BACK_NOTER/                      NOTES$K_NOTE_BACK_RESPONSE                   106 N  _                      O                                                                  NOTES$NOTE_GETI      -                      NOTES$K_NOTE_BEFORE_TIME 2                      NOTES$K_NOTE_HINT_GET_KEYWORD/                      NOTES$K_NOTE_HINT_GET_TEXTS$                      NOTES$K_NOTE_ID+                      NOTES$K_NOTE_MARK_SEEN +                      NOTES$K_NOTE_NEXT_NOTE /                      NOTES$K_NOTE_NEXT_RESPONSES-                      NOTES$K_NOTE_NEXT_UNSEEN_/                      NOTES$K_NOTE_SEARCH_STRING_,                      NOTES$K_NOTE_SINCE_TIME'                      NOTES$K_NOTE_TITLEN%                      NOTES$K_NOTE_UIDN(                      NOTES$K_NOTE_UNSEEN+                      NOTES$K_NOTE_USER_AREA   "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   (                      NOTES$K_NOTE_AUTHOR*                      NOTES$K_NOTE_BLINK_ID-                      NOTES$K_NOTE_BLINK_TITLE +                      NOTES$K_NOTE_BLINK_UIDx+                      NOTES$K_NOTE_CAN_REPLYn-                      NOTES$K_NOTE_CREATE_TIME (                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID,                      NOTES$K_NOTE_NUMRECORDS.                      NOTES$K_NOTE_NUMRESPONSES*                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLEt&                      NOTES$K_NOTE_TYPE%                      NOTES$K_NOTE_UID +                      NOTES$K_NOTE_USER_AREA +                      NOTES$K_NOTE_WRITELOCK   O                                                                             107                                            NOTES$NOTE_GET       0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME_.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV .                      NOTES$K_NOTEFILE_NUMNOTES%                      NOTES$K_SEEN_MAP   K                ____________________________________________________________                   Description  J                   The NOTES$NOTE_GET routine retrieves information about aO                   note or sequence of notes. It must be called before any calls J                   to the NOTES$NOTE_GET_KEYWORD or the NOTES$NOTE_GET_TEXT                   routines.   K                   The item codes NOTES$K_NOTE_BACK_NOTE, NOTES$K_NOTE_NEXT__J                   NOTE, NOTES$K_NOTE_BACK_RESPONSE, and NOTES$K_NOTE_NEXT_K                   RESPONSE conflict with each other and with all other item                    codes.  O                   _____________________________________________________________mO                   Return_Code___________Description___________Status___________o                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                    108                           O                                                                  NOTES$NOTE_GET     O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________X                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                                 O                                                                             109r    y                      %                NOTES$NOTE_GET_KEYWORD       O                ________________________________________________________________   %                NOTES$NOTE_GET_KEYWORD   N                   Gets the keywords associated with the current note (the noteL                   specified by the last call to the NOTES$NOTE_GET routine).0                   Each call returns one keyword.  K                ____________________________________________________________                   Format   B                   NOTES$NOTE_GET_KEYWORD  (context,input-item-list  C                                                [,output-item-list])   K                ____________________________________________________________                   Arguments                     contextN'                      VMS Usage: contextT.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$NOTE_BEGIN.E  !                   input-item-listF+                      VMS Usage: item_list_3E.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the4                   following list. Both are optional.  %                      NOTES$K_CONTINUEo%                      NOTES$K_NOSIGNALs                  110 _  _                      O                                                          NOTES$NOTE_GET_KEYWORDE      "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes fromT7                   the following list. All are optional.e  )                      NOTES$K_KEYWORD_NAME (                      NOTES$K_NOTE_AUTHOR*                      NOTES$K_NOTE_BLINK_ID-                      NOTES$K_NOTE_BLINK_TITLE +                      NOTES$K_NOTE_BLINK_UID_+                      NOTES$K_NOTE_CAN_REPLYu-                      NOTES$K_NOTE_CREATE_TIME_(                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID,                      NOTES$K_NOTE_NUMRECORDS.                      NOTES$K_NOTE_NUMRESPONSES*                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLE &                      NOTES$K_NOTE_TYPE%                      NOTES$K_NOTE_UID?+                      NOTES$K_NOTE_USER_AREA_+                      NOTES$K_NOTE_WRITELOCK 0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAME .                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV_.                      NOTES$K_NOTEFILE_NUMNOTES%                      NOTES$K_SEEN_MAP                   O                                                                             111_ _  _                      %                NOTES$NOTE_GET_KEYWORD       K                ____________________________________________________________                   Description  N                   The NOTES$NOTE_GET KEYWORD routine gets the keywords associ-L                   ated with the current note (the note specified by the lastL                   call to the NOTES$NOTE_GET routine). Each call returns one                   keyword.  O                   _____________________________________________________________fO                   Return_Code___________Description___________Status___________O                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                             112                           O                                                             NOTES$NOTE_GET_TEXT       O                ________________________________________________________________u  "                NOTES$NOTE_GET_TEXT  M                   Gets the text records associated with the current note (the L                   note specified by the last call to the NOTES$NOTE_GET rou-;                   tine). Each call returns one text record.u  K                ____________________________________________________________                   FormatS  ?                   NOTES$NOTE_GET_TEXT  (context,input-item-list   @                                             [,output-item-list])  K                ____________________________________________________________                   Arguments                     contextS'                      VMS Usage: contextS.                      Type: longword (unsigned)#                      Access: modifyK,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$NOTE_BEGIN.K  !                   input-item-listS+                      VMS Usage: item_list_3S.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the4                   following list. Both are optional.  %                      NOTES$K_CONTINUE %                      NOTES$K_NOSIGNAL   O                                                                             113                            "                NOTES$NOTE_GET_TEXT      "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from_7                   the following list. All are optional.   (                      NOTES$K_NOTE_AUTHOR*                      NOTES$K_NOTE_BLINK_ID-                      NOTES$K_NOTE_BLINK_TITLEO+                      NOTES$K_NOTE_BLINK_UID +                      NOTES$K_NOTE_CAN_REPLYE-                      NOTES$K_NOTE_CREATE_TIME (                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID,                      NOTES$K_NOTE_NUMRECORDS.                      NOTES$K_NOTE_NUMRESPONSES*                      NOTES$K_NOTE_PEN_NAME-                      NOTES$K_NOTE_TEXT_STRINGT+                      NOTES$K_NOTE_TEXT_TYPE_'                      NOTES$K_NOTE_TITLE_&                      NOTES$K_NOTE_TYPE%                      NOTES$K_NOTE_UIDd+                      NOTES$K_NOTE_USER_AREA +                      NOTES$K_NOTE_WRITELOCK_0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAMEm.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV_.                      NOTES$K_NOTEFILE_NUMNOTES%                      NOTES$K_SEEN_MAP                                 114                           O                                                             NOTES$NOTE_GET_TEXTd      K                ____________________________________________________________                   Description  M                   The NOTES$NOTE_GET_TEXT routine gets the text records asso- N                   ciated with the current note (the note specified by the lastL                   call to the NOTES$NOTE_GET routine). Each call returns one                   text record.  O                   _____________________________________________________________tO                   Return_Code___________Description___________Status___________e                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________d            O                                                                             115T K  T                                       NOTES$NOTE_MODIFY      O                ________________________________________________________________I                   NOTES$NOTE_MODIFY  4                   Modifies the attributes of a note.  K                ____________________________________________________________T                  Format   =                   NOTES$NOTE_MODIFY  (context,input-item-listS  >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     contextN'                      VMS Usage: contextS.                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$NOTE_BEGIN.T  !                   input-item-list_+                      VMS Usage: item_list_3_.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the3                   following list. All are optional._  %                      NOTES$K_NOSIGNAL (                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID(                      NOTES$K_NOTE_NEW_ID*                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLE %                      NOTES$K_NOTE_UID                   116 _  _                      O                                                               NOTES$NOTE_MODIFY_      (                      NOTES$K_NOTE_UNSEEN+                      NOTES$K_NOTE_USER_AREA +                      NOTES$K_NOTE_WRITELOCK /                      NOTES$K_NOTEFILE_FILE_NAME   "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   (                      NOTES$K_NOTE_AUTHOR*                      NOTES$K_NOTE_BLINK_ID-                      NOTES$K_NOTE_BLINK_TITLE +                      NOTES$K_NOTE_BLINK_UIDe+                      NOTES$K_NOTE_CAN_REPLYo-                      NOTES$K_NOTE_CREATE_TIME_(                      NOTES$K_NOTE_HIDDEN$                      NOTES$K_NOTE_ID,                      NOTES$K_NOTE_NUMRECORDS.                      NOTES$K_NOTE_NUMRESPONSES*                      NOTES$K_NOTE_PEN_NAME'                      NOTES$K_NOTE_TITLE_&                      NOTES$K_NOTE_TYPE%                      NOTES$K_NOTE_UID +                      NOTES$K_NOTE_USER_AREA +                      NOTES$K_NOTE_WRITELOCK 0                      NOTES$K_NOTEFILE_ENTRYTOTAL/                      NOTES$K_NOTEFILE_FILE_NAMEs.                      NOTES$K_NOTEFILE_HIGH_UID-                      NOTES$K_NOTEFILE_LASTREV .                      NOTES$K_NOTEFILE_NUMNOTES%                      NOTES$K_SEEN_MAP           O                                                                             117                                             NOTES$NOTE_MODIFY      K                ____________________________________________________________                   Description  L                   The NOTES$NOTE_MODIFY routine modifies the attributes of a                   note.T  O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                 118 T                         O                                                             NOTES$PROFILE_BEGIN       O                ________________________________________________________________E  "                NOTES$PROFILE_BEGIN  M                   Creates and initializes the profile context for later callsN0                   to NOTES$PROFILE_xxx routines.  K                ____________________________________________________________s                  Format   ?                   NOTES$PROFILE_BEGIN  (context,input-item-list   @                                             [,output-item-list])  K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  M                   The address of a longword that will receive profile context                    information.  !                   input-item-listS+                      VMS Usage: item_list_3_.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. NOTES$K_NOTEFILE_CONTEXT is required. The $                   other is optional.  %                      NOTES$K_NOSIGNAL -                      NOTES$K_NOTEFILE_CONTEXT   O                                                                             119F _  R                      "                NOTES$PROFILE_BEGIN      "                   output-item-list+                      VMS Usage: item_list_3A.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.a  -                      NOTES$K_PROFILE_AUTO_DIRe0                      NOTES$K_PROFILE_AUTO_UNSEEN/                      NOTES$K_PROFILE_CLASS_NAMES+                      NOTES$K_PROFILE_EDITOR 1                      NOTES$K_PROFILE_EDITOR_SPAWNK-                      NOTES$K_PROFILE_PEN_NAMEO*                      NOTES$K_PROFILE_PRINT  K                ____________________________________________________________h                  Description  I                   The NOTES$PROFILE_BEGIN routine creates and initializes_J                   the profile context for later calls to NOTES$PROFILE_xxx                   routines.   O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                    120                           O                                                             NOTES$PROFILE_BEGIN_    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                         O                                                                             121     T                                       NOTES$PROFILE_END      O                ________________________________________________________________                    NOTES$PROFILE_END  =                   Deletes or deallocates the profile context.   K                ____________________________________________________________                   Format   ?                   NOTES$PROFILE_END  (context[,input-item-list]   >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  M                   The address of a longword that contains the profile context 2                   returned by NOTES$PROFILE_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of the following, optional item code:   %                      NOTES$K_NOSIGNAL   "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference                  122 i  -                      O                                                               NOTES$PROFILE_END         O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   -                      NOTES$K_PROFILE_AUTO_DIR 0                      NOTES$K_PROFILE_AUTO_UNSEEN/                      NOTES$K_PROFILE_CLASS_NAMEK+                      NOTES$K_PROFILE_EDITORT1                      NOTES$K_PROFILE_EDITOR_SPAWN_-                      NOTES$K_PROFILE_PEN_NAME_*                      NOTES$K_PROFILE_PRINT  K                ____________________________________________________________T                  Description  J                   The NOTES$PROFILE_END routine deletes or deallocates theB                   profile context. The context longword is zeroed.  O                   _____________________________________________________________TO                   Return_Code___________Description___________Status___________S                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?    O                                                                             123                                             NOTES$PROFILE_END    O                   ______________________________________________________________O                   Return_Code___________Description___________Status____________                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                                                     124    E                      O                                                               NOTES$PROFILE_GET_      O                _________________________________________________________________                   NOTES$PROFILE_GET  L                   Gets the current settings of the personal profile informa-                   tion.   K                ____________________________________________________________$                  FormatO  =                   NOTES$PROFILE_GET  (context,input-item-list?  >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify_,                      Mechanism: by reference  M                   The address of a longword that contains the profile contexts2                   returned by NOTES$PROFILE_BEGIN.  !                   input-item-listo+                      VMS Usage: item_list_3i.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the4                   following list. Both are optional.  %                      NOTES$K_NOSIGNAL_.                      NOTES$K_PROFILE_TEMPORARY    O                                                                             125V U  e                                       NOTES$PROFILE_GET      "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   -                      NOTES$K_PROFILE_AUTO_DIRa0                      NOTES$K_PROFILE_AUTO_UNSEEN/                      NOTES$K_PROFILE_CLASS_NAME +                      NOTES$K_PROFILE_EDITORt1                      NOTES$K_PROFILE_EDITOR_SPAWN -                      NOTES$K_PROFILE_PEN_NAME *                      NOTES$K_PROFILE_PRINT  K                ____________________________________________________________S                  Description  L                   The NOTES$PROFILE_GET routine gets the current settings of3                   the personal profile information.   O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                      126 T  K                      O                                                               NOTES$PROFILE_GETE    O                   _____________________________________________________________DO                   Return_Code___________Description___________Status____________                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                         O                                                                             127                            #                NOTES$PROFILE_MODIFYT      O                ________________________________________________________________   #                NOTES$PROFILE_MODIFY   ?                   Sets or changes personal profile information.S  K                ____________________________________________________________                   Format   @                   NOTES$PROFILE_MODIFY  (context,input-item-list  A                                              [,output-item-list])   K                ____________________________________________________________t                  Arguments                     contextd'                      VMS Usage: contextd.                      Type: longword (unsigned)#                      Access: modifys,                      Mechanism: by reference  M                   The address of a longword that contains the profile context 2                   returned by NOTES$PROFILE_BEGIN.  !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from the3                   following list. All are optional.?  %                      NOTES$K_NOSIGNAL_-                      NOTES$K_PROFILE_AUTO_DIR 0                      NOTES$K_PROFILE_AUTO_UNSEEN/                      NOTES$K_PROFILE_CLASS_NAME +                      NOTES$K_PROFILE_EDITOR_1                      NOTES$K_PROFILE_EDITOR_SPAWN_-                      NOTES$K_PROFILE_PEN_NAME                   128 O  Y                      O                                                            NOTES$PROFILE_MODIFY_      *                      NOTES$K_PROFILE_PRINT.                      NOTES$K_PROFILE_TEMPORARY  "                   output-item-list+                      VMS Usage: item_list_3e.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes froml7                   the following list. All are optional.   -                      NOTES$K_PROFILE_AUTO_DIR 0                      NOTES$K_PROFILE_AUTO_UNSEEN/                      NOTES$K_PROFILE_CLASS_NAMEd+                      NOTES$K_PROFILE_EDITORn1                      NOTES$K_PROFILE_EDITOR_SPAWNm-                      NOTES$K_PROFILE_PEN_NAMEu*                      NOTES$K_PROFILE_PRINT  K                ____________________________________________________________                   Description    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?    O                                                                             129                            #                NOTES$PROFILE_MODIFY     O                   _____________________________________________________________AO                   Return_Code___________Description___________Status___________N                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________n                                                                        130 s  o                      O                                                                  NOTES$USER_ADDR      O                ________________________________________________________________I                  NOTES$USER_ADDK  L                   Verifies that there is no existing user with the specifiedO                   user name and node names, and creates a member record for the                    user._  K                ____________________________________________________________N                  Format   :                   NOTES$USER_ADD  (context,input-item-list  ;                                        [,output-item-list])   K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modifyH,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$USER_BEGIN.   !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theO                   following list. NOTES$K_USER_NAME is required. All the others_                   are optional._  %                      NOTES$K_NOSIGNALd-                      NOTES$K_USER_ACCESS_LIST_0                      NOTES$K_USER_CREATE_KEYWORD+                      NOTES$K_USER_MAIL_ADDR   O                                                                             131E ?                                         NOTES$USER_ADD$      *                      NOTES$K_USER_MODERATE&                      NOTES$K_USER_NAME*                      NOTES$K_USER_NODENAME.                      NOTES$K_USER_WRITE_BYPASS  "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   -                      NOTES$K_USER_ACCESS_LIST 0                      NOTES$K_USER_CREATE_KEYWORD+                      NOTES$K_USER_MAIL_ADDR *                      NOTES$K_USER_MODERATE&                      NOTES$K_USER_NAME*                      NOTES$K_USER_NODENAME.                      NOTES$K_USER_WRITE_BYPASS  K                ____________________________________________________________                   Description  O                   The NOTES$USER_ADD routine verifies that there is no existing O                   user with the specified user name and node names, and creates /                   a member record for the user.w  O                   _____________________________________________________________nO                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                  132 t  n                      O                                                                  NOTES$USER_ADDi    O                   _____________________________________________________________KO                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________r                                                O                                                                             133d f                                         NOTES$USER_BEGINl      O                ________________________________________________________________I                  NOTES$USER_BEGIN   M                   Creates and initializes the user context for later calls to *                   NOTES$USER_xxx routines.  K                ____________________________________________________________P                  Format   <                   NOTES$USER_BEGIN  (context,input-item-list  =                                          [,output-item-list])R  K                ____________________________________________________________t                  Arguments                     context '                      VMS Usage: context_.                      Type: longword (unsigned)#                      Access: modify_,                      Mechanism: by reference  J                   The address of a longword that will receive user context                   information.  !                   input-item-listO+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theK                   following list. NOTES$K_NOTEFILE_CONTEXT is required. The_$                   other is optional.  %                      NOTES$K_NOSIGNAL -                      NOTES$K_NOTEFILE_CONTEXT                   134                           O                                                                NOTES$USER_BEGIN       "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.t  -                      NOTES$K_USER_ACCESS_LIST_0                      NOTES$K_USER_CREATE_KEYWORD+                      NOTES$K_USER_MAIL_ADDRN*                      NOTES$K_USER_MODERATE&                      NOTES$K_USER_NAME*                      NOTES$K_USER_NODENAME.                      NOTES$K_USER_WRITE_BYPASS  K                ____________________________________________________________                   Description  O                   The NOTES$USER_BEGIN routine creates and initializes the user E                   context for later calls to NOTES$USER_xxx routines.   O                   _____________________________________________________________EO                   Return_Code___________Description___________Status___________U                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?      O                                                                             135K S  A                                      NOTES$USER_BEGIN     O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                                         136 O  E                      O                                                               NOTES$USER_DELETES      O                ________________________________________________________________I                   NOTES$USER_DELETE  J                   Verifies that the specified user exists, and deletes the.                   member record for that user.  K                ____________________________________________________________h                  Formatn  =                   NOTES$USER_DELETE  (context,input-item-listT  >                                           [,output-item-list])  K                _____________________________________________________________                  Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$USER_BEGIN.   !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theO                   following list. NOTES$K_USER_NAME is required. All the others_                   are optional._  %                      NOTES$K_NOSIGNAL -                      NOTES$K_USER_ACCESS_LIST &                      NOTES$K_USER_NAME*                      NOTES$K_USER_NODENAME  O                                                                             137_ _  _                                       NOTES$USER_DELETE      "                   output-item-list+                      VMS Usage: item_list_3m.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from 7                   the following list. All are optional.   -                      NOTES$K_USER_ACCESS_LIST_0                      NOTES$K_USER_CREATE_KEYWORD+                      NOTES$K_USER_MAIL_ADDR *                      NOTES$K_USER_MODERATE&                      NOTES$K_USER_NAME*                      NOTES$K_USER_NODENAME.                      NOTES$K_USER_WRITE_BYPASS  K                ____________________________________________________________                   Description  K                   The NOTES$USER_DELETE routine verifies that the specifiedmK                   user exists, and deletes the member record for that user.   O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________o                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                      138                           O                                                               NOTES$USER_DELETE     O                   _____________________________________________________________gO                   Return_Code___________Description___________Status___________r                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________O                                                        O                                                                             139T K  O                                      NOTES$USER_ENDI      O                _________________________________________________________________                  NOTES$USER_END_  :                   Deletes or deallocates the user context.  K                ____________________________________________________________                   Formatf  <                   NOTES$USER_END  (context[,input-item-list]  ;                                        [,output-item-list])_  K                ____________________________________________________________                   Arguments                     context?'                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$USER_BEGIN._  !                   input-item-listn+                      VMS Usage: item_list_3_.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  N                   An item list consisting of the following optional item code:  %                      NOTES$K_NOSIGNAL   "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference                  140 _  _                      O                                                                  NOTES$USER_ENDh        O                   An item list consisting of one or more output item codes from_7                   the following list. All are optional.   -                      NOTES$K_USER_ACCESS_LISTp0                      NOTES$K_USER_CREATE_KEYWORD+                      NOTES$K_USER_MAIL_ADDR *                      NOTES$K_USER_MODERATE&                      NOTES$K_USER_NAME*                      NOTES$K_USER_NODENAME.                      NOTES$K_USER_WRITE_BYPASS  K                ____________________________________________________________                   Description  L                   The NOTES$USER_END routine deletes or deallocates the user:                   context. The context longword is zeroed.  O                   _____________________________________________________________lO                   Return_Code___________Description___________Status___________s                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?    O                                                                             141N S  P                                      NOTES$USER_ENDI    O                   _____________________________________________________________NO                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                                                     142 V  U                      O                                                                  NOTES$USER_GETn      O                ________________________________________________________________i                  NOTES$USER_GETc  /                   Gets information about users.l  K                ____________________________________________________________                   FormatA  :                   NOTES$USER_GET  (context,input-item-list  ;                                        [,output-item-list])   K                ____________________________________________________________u                  Arguments                     context '                      VMS Usage: context_.                      Type: longword (unsigned)#                      Access: modify_,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$USER_BEGIN.   !                   input-item-list +                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theO                   following list. NOTES$K_USER_NAME is required. All the others_                   are optional._  %                      NOTES$K_CONTINUE_%                      NOTES$K_NOSIGNAL *                      NOTES$K_USER_MODERATE&                      NOTES$K_USER_NAME  O                                                                             143_ _  _                                      NOTES$USER_GET       "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes frome7                   the following list. All are optional.   -                      NOTES$K_USER_ACCESS_LISTr0                      NOTES$K_USER_CREATE_KEYWORD+                      NOTES$K_USER_MAIL_ADDR_*                      NOTES$K_USER_MODERATE&                      NOTES$K_USER_NAME*                      NOTES$K_USER_NODENAME.                      NOTES$K_USER_WRITE_BYPASS  K                _____________________________________________________________                  Description  J                   The NOTES$USER_GET routine gets information about users.  O                   _____________________________________________________________sO                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                    144                           O                                                                  NOTES$USER_GETi    O                   _____________________________________________________________iO                   Return_Code___________Description___________Status___________l                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                             O                                                                             145                                             NOTES$USER_MODIFY      O                ________________________________________________________________K                   NOTES$USER_MODIFY  K                   Verifies that the specified user exists, and modifies the .                   member record for that user.  K                ____________________________________________________________                   Formatt  =                   NOTES$USER_MODIFY  (context,input-item-list   >                                           [,output-item-list])  K                ____________________________________________________________                   Arguments                     context '                      VMS Usage: context .                      Type: longword (unsigned)#                      Access: modify ,                      Mechanism: by reference  J                   The address of a longword that contains the note context/                   returned by NOTES$USER_BEGIN.$  !                   input-item-listi+                      VMS Usage: item_list_3h.                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  L                   An item list consisting of one or more item codes from theO                   following list. NOTES$K_USER_NAME is required. All the others?                   are optional.   %                      NOTES$K_NOSIGNAL -                      NOTES$K_USER_ACCESS_LIST 0                      NOTES$K_USER_CREATE_KEYWORD+                      NOTES$K_USER_MAIL_ADDR_*                      NOTES$K_USER_MODERATE                  146 _  _                      O                                                               NOTES$USER_MODIFY       &                      NOTES$K_USER_NAME*                      NOTES$K_USER_NEW_NAME.                      NOTES$K_USER_NEW_NODENAME*                      NOTES$K_USER_NODENAME.                      NOTES$K_USER_WRITE_BYPASS  "                   output-item-list+                      VMS Usage: item_list_3 .                      Type: longword (unsigned)&                      Access: read only,                      Mechanism: by reference  O                   An item list consisting of one or more output item codes from_7                   the following list. All are optional.N  -                      NOTES$K_USER_ACCESS_LIST 0                      NOTES$K_USER_CREATE_KEYWORD+                      NOTES$K_USER_MAIL_ADDR *                      NOTES$K_USER_MODERATE&                      NOTES$K_USER_NAME*                      NOTES$K_USER_NODENAME.                      NOTES$K_USER_WRITE_BYPASS  K                _____________________________________________________________                  Description  K                   The NOTES$USER_MODIFY routine verifies that the specifiedtL                   user exists, and modifies the member record for that user.  O                   _____________________________________________________________iO                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                                                                             147s r                                          NOTES$USER_MODIFY    O                   _____________________________________________________________ O                   Return_Code___________Description___________Status___________                      NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?                     NOTES$_?  O                   NOTES$_?_____________________________________________________                                                                 148 n  r                                          O                                                                        Part IIIiO                                                                      Appendixes O                ________________________________________________________________S                                       O                                                                      Appendix AT    O                                                   Item List Format and ContentsSO                ________________________________________________________________     K                   Many of the VAX Notes routines accept input parameters byDO                   means of item lists rather than coding a multitude of parame-zN                   ters. The item list format is identical to that used by manyO                   of the VMS system services (for example, $GETJPI or $GETDVI)._F                   The items in the list may be specified in any order.  I                   Numeric values for the item codes are supplied with the I                   software kit in files named NOTES$ITEMDEF.*; therefore, J                   the numeric values are not defined in this document. TheL                   NOTES$ITEMDEF.* files also include values for error codes.  K                _____________________________________________________________  )                A.1  Various Context Items   M                   These items are used to pass the address of a longword con- O                   taining context information. Before calling a NOTES$xxx_BEGIN L                   routine, the value of this longword should be set to zero;L                   the routine will store a nonzero context value here, whichM                   can be passed to other operations. The longword must not beEM                   modified by the caller. A call to the associated NOTES$xxx_ O                   END routine will release this context, and reset the longword_                   to zero.  N                    o NOTES$K_CLASS_CONTEXT - Passes the CLASS context to other                       operations.  N                    o NOTES$K_ENTRY_CONTEXT - Passes the ENTRY context to other                       operations.  L                    o NOTES$K_KEYWORD_CONTEXT - Passes the KEYWORD context to&                      other operations.  O                                              Item List Format and Contents  A-1_ _  _                      L                    o NOTES$K_NOTE_CONTEXT - Passes the NOTE context to other                       operations.  N                    o NOTES$K_NOTEFILE_CONTEXT - Passes the NOTEFILE context to&                      other operations.  L                    o NOTES$K_PROFILE_CONTEXT - Passes the PROFILE context to&                      other operations.  J                    o NOTES$K_SERVER_CONTEXT - Passes the SERVER context to&                      other operations.  L                    o NOTES$K_USER_CONTEXT - Passes the USER context to other                       operations.  K                ____________________________________________________________                   A.2  Item Codes  K                   The codes described in Table A-1 are specified as parame- K                   ters to the NOTES$ callable routines. See the files namedTJ                   NOTES$ITEMDEF.*, supplied with the software kit, for the1                   values assigned to these codes.   (                   Table A-1:  Item CodesO                   _____________________________________________________________EO                   Item_Code____________________Description_____________________l  L                   NOTES$K_CLASS_HINT_GET_      Indicates that a NOTES$CLASS_O                   ENTRY                        GET_ENTRY will be performed next L                                                (improves server performance)  K                   NOTES$K_CLASS_NAME           Class name string (wildcards_O                                                may be allowed, depending on the 7                                                context)U  M                   NOTES$K_CLASS_NEW_NAME       New class name string (renamesK=                                                the old class)   O                   NOTES$K_CLASS_USER_AREA      String of user-programmable data   O                   _____________________________________________________________sO                                                        (continued on next page)d    1                A-2  Item List Format and Contents_ _  _                      0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________ O                   Item_Code____________________Description_____________________$  J                   NOTES$K_CONTINUE             Keeps returning information      O                   NOTES$K_DELIF0               Delete class if empty, indicated 3                                                by 1       L                   NOTES$K_ENTRY_HINT_GET_      Indicates that a NOTES$ENTRY_O                   CLASS                        GET_CLASS will be performed next L                                                (improves server performance)  L                   NOTES$K_ENTRY_HINT_GET_      Indicates that a NOTES$ENTRY_L                   KEYWORD                      GET_KEYWORD will be performedL                                                next (improves server perfor-5                                                mance)                 )  I                   NOTES$K_ENTRY_LAST_STATUS    Longword value of the last_K                                                update for the entry (update ?                                                status longword)   K                   NOTES$K_ENTRY_NAME           Entry name string (wildcards O                                                may be allowed, depending on the 7                                                context)s  M                   NOTES$K_ENTRY_NEW_NAME       New entry name string (renames_=                                                the old entry)   M                   NOTES$K_ENTRY_OBJECT_NAME    DNS object name string for theg4                                                entryO                   _____________________________________________________________ O                                                        (continued on next page)               O                                              Item List Format and Contents  A-3                            0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________tO                   Item_Code____________________Description_____________________   K                   NOTES$K_ENTRY_OBJECT_SPEC    File specification string tosL                                                which the DNS object name was9                                                translatede  N                   NOTES$K_ENTRY_UNSEEN_EST     Longword number of unseen notes  O                   NOTES$K_ENTRY_USER_AREA      String of user-programmable datai      N                   NOTES$K_KEYWORD_HINT_GET_    Indicates that a NOTES$KEYWORD_N                   NOTE                         GET_NOTE will be performed nextL                                                (improves server performance)  M                   NOTES$K_KEYWORD_NAME         Keyword name string (wildcards O                                                may be allowed, depending on the 7                                                context)_  O                   NOTES$K_KEYWORD_NEW_NAME     New keyword name string (renames ?                                                the old keyword)a  O                   NOTES$K_KEYWORD_USER_AREA    String of user-programmable data       K                   NOTES$K_NOSIGNAL             Overrides default error sig- 6                                                nalling      O                   NOTES$K_NOTE_ALL_RESPONSES   Indicates replies should also be 7                                                returned   A                   NOTES$K_NOTE_AUTHOR          Author name string O                   _____________________________________________________________ O                                                        (continued on next page)           1                A-4  Item List Format and Contents                            0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________ O                   Item_Code____________________Description_____________________E  I                   NOTES$K_NOTE_BACK_NOTE       Selects the previous topic   I                   NOTES$K_NOTE_BACK_RESPONSE   Selects the previous reply   M                   NOTES$K_NOTE_BEFORE_TIME     Selects only notes before this A                                                quadword date/time_  E                   NOTES$K_NOTE_BLINK_ID        Note identifier stringc  A                   NOTES$K_NOTE_BLINK_TITLE     Topic title string   N                   NOTES$K_NOTE_BLINK_UID       Longword unique note identifier  O                   NOTES$K_NOTE_CAN_REPLY       Longword indicating with a value M                                                of 1 that the caller can reply_  I                   NOTES$K_NOTE_CREATE_TIME     Quadword date/time of note 7                                                creationa  I                   NOTES$K_NOTE_HIDDEN          Selects or modifies hidden L                                                notes. For selection, selectsO                                                hidden notes = 1, selects unhid- M                                                den notes = 0; for modifying a O                                                note, hide note = 1, unhide noteg2                                                = 0  O                   NOTES$K_NOTE_HINT_GET_       Value of 1 indicates that a call K                   KEYWORD                      to NOTES$GET_KEYWORD is next_  O                   NOTES$K_NOTE_HINT_GET_TEXT   Value of 1 indicates that a call O                                                to the NOTES$GET_TEXT routine is 3                                                next   O                   NOTES$K_NOTE_ID              String of the note identifier or ?                                                a range of notesNO                   _____________________________________________________________SO                                                        (continued on next page)         O                                              Item List Format and Contents  A-5     i                      0                   Table A-1 (Cont.):  Item CodesO                   ______________________________________________________________O                   Item_Code____________________Description_____________________   O                   NOTES$K_NOTE_MARK_SEEN       Mark notes as seen, indicated by 0                                                1  N                   NOTES$K_NOTE_NEW_ID          String specifying the new note-M                                                ID to which the range of notes >                                                should be moved  E                   NOTES$K_NOTE_NEXT_NOTE       Selects the next topic_  D                   NOTES$K_NOTE_NEXT_RESPONSE   Select the next reply  J                   NOTES$K_NOTE_NEXT_UNSEEN     Select the next unseen note  N                   NOTES$K_NOTE_NUMRECORDS      Longword number of text records;                                                in this note   O                   NOTES$K_NOTE_NUMRESPONSES    Longword response number of last 4                                                reply  C                   NOTES$K_NOTE_PEN_NAME        Personal name string_  L                   NOTES$K_NOTE_SEARCH_STRING   Selects only notes containingA                                                this search string   L                   NOTES$K_NOTE_SINCE_TIME      Selects only notes after thisA                                                quadword date/time_  ;                   NOTES$K_NOTE_TITLE           Title string   N                   NOTES$K_NOTE_TYPE            Longword indicating the type of?                                                text in the note   N                   NOTES$K_NOTE_UID             Longword unique note identifierO                   _____________________________________________________________ O                                                        (continued on next page)             1                A-6  Item List Format and Contents_ _  _                      0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________ O                   Item_Code____________________Description______________________  K                   NOTES$K_NOTE_UNSEEN          Selects notes; select unseen O                                                notes = 1, select seen notes = 0   O                   NOTES$K_NOTE_USER_AREA       String of user-programmable data   I                   NOTES$K_NOTE_WRITELOCK       Modifies locking of notes;nI                                                writelock note = 1, removeSD                                                writelock on note = 0      M                   NOTES$K_NOTEFILE_CREATE      Creates the specified notefile   N                   NOTES$K_NOTEFILE_CREATE_     Quadword date/time of the note-<                   TIME                         file creation  K                   NOTES$K_NOTEFILE_DEFAULT_    Default notefile name stringt                   NAME  I                   NOTES$K_NOTEFILE_ENTRYTOTAL  Total number of topics and 6                                                replies  C                   NOTES$K_NOTEFILE_FILE_NAME   Notefile name string_  K                   NOTES$K_NOTEFILE_FORMAT      Longword indicating notefile 5                                                format   L                   NOTES$K_NOTEFILE_HIGH_UID    Longword of highest used note2                                                UID  M                   NOTES$K_NOTEFILE_LASTREV     Quadword date/time of the lastE@                                                notefile revisionO                   _____________________________________________________________ O                                                        (continued on next page)y              O                                              Item List Format and Contents  A-7o o  o                      0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________ O                   Item_Code____________________Description_____________________   K                   NOTES$K_NOTEFILE_MODERATE    Changes moderator status for M                                                the notefile; attain moderatorRK                                                status = 1, cancel moderator_9                                                status = 0   D                   NOTES$K_NOTEFILE_MODERATOR   Moderator name string  <                   NOTES$K_NOTEFILE_NOTICE      Notice string  O                   NOTES$K_NOTEFILE_NUMNOTES    Longword note number of the last_D                                                topic in the notefile  J                   NOTES$K_NOTEFILE_RELATED_    Related name string for the7                   NAME                         notefile?  N                   NOTES$K_NOTEFILE_REPLY_ONLY  Conference in which only autho-L                                                rized users may enter topics,=                                                indicated by 1_  M                   NOTES$K_NOTEFILE_RESTRICTED  Modifies or determines whether_N                                                user access is restricted; onlyO                                                authorized users may participate N                                                = 1, any user may participate =0                                                0  M                   NOTES$K_NOTEFILE_RESULT_     Resultant file name specifica- J                   SPEC                         tion string of the notefile  D                   NOTES$K_NOTEFILE_TITLE       Notefile title string  O                   NOTES$K_NOTEFILE_USER_AREA   String of user-programmable data_  O                   NOTES$K_NOTEFILE_WRITELOCK   Notefile writelocked against new D                                                notes, indicated by 1O                   _____________________________________________________________ O                                                        (continued on next page)_          1                A-8  Item List Format and Contentsa o  h                      0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________sO                   Item_Code____________________Description_____________________e      I                   NOTES$K_PROFILE_AUTO_DIR     Modifies or determines thetK                                                automatic directory setting;aJ                                                automatic directory = 1, noF                                                automatic directory = 0  O                   NOTES$K_PROFILE_AUTO_UNSEEN  Modifies or determines the auto-.N                                                matic unseen setting; automaticN                                                unseen = 1, no automatic unseen2                                                = 0  N                   NOTES$K_PROFILE_CLASS_NAME   String of default class name to2                                                use  A                   NOTES$K_PROFILE_EDITOR       Editor name string   K                   NOTES$K_PROFILE_EDITOR_      Flag to indicate whether the L                   SPAWN                        editor must be spawned; SpawnN                                                editor = 1, callable editor = 0  C                   NOTES$K_PROFILE_PEN_NAME     Personal name stringn  M                   NOTES$K_PROFILE_PRINT        String of default print quali--N                                                fiers to apply; allows the userO                                                to define defaults for the PRINT 6                                                command  K                   NOTES$K_PROFILE_TEMPORARY    Indicates that the specifiedaN                                                profile settings are temporary,G                                                and should not be storedT    O                   _____________________________________________________________ O                                                        (continued on next page)             O                                              Item List Format and Contents  A-9  F                         0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________hO                   Item_Code____________________Description_____________________t  L                   NOTES$K_SEEN_MAP             String indicating which notesL                                                have been seen. User programsJ                                                may not interpret this byteI                                                string, except that a nulleM                                                string indicates that no notesr=                                                have been seen           J                   NOTES$K_SERVER_MAX_ITEM      Longword value of the high-L                                                est item code that the server7                                                supports   L                   NOTES$K_TEXT_END             Indicates the end of the noteJ                                                text for a note being added  K                   NOTES$K_TEXT_STRING          Text record string in a note   O                   NOTES$K_TEXT_TYPE            Longword type of the text record       L                   NOTES$K_UNIENTRY             Unique by entry (for markers)    O                   _____________________________________________________________NO                                                        (continued on next page)e                        2                A-10  Item List Format and Contents r  a                      0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________(O                   Item_Code____________________Description_____________________   N                   NOTES$K_USER_ACCESS_LIST     String of node::user-name pairs<                                                for this user  O                   ______________________________________________________________O                                                        (continued on next page)i                                                                        O                                             Item List Format and Contents  A-11                            0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________xO                   Item_Code____________________Description_____________________   L                   NOTES$K_USER_CREATE_KEYWORD  For a conference, modifies orN                                                determines whether any user mayO                                                create keywords: only users with L                                                CREATE_KEYWORDS privilege mayM                                                create keywords = 1 (default), K                                                any user may create keywords L                                                = 0; for a member, determinesM                                                whether the member has CREATE_ M                                                KEYWORDS privilege: may create K                                                keywords = 1, may not createEE                                                keywords = 0 (default)   L                   NOTES$K_USER_MAIL_ADDR       User's mailing address string  M                   NOTES$K_USER_MODERATE        Modifies or determines whethereJ                                                user may moderate the note-N                                                file; may moderate = 1, may not;                                                moderate = 0   N                   NOTES$K_USER_NAME            User name string (wildcards mayK                                                be allowed, depending on the_7                                                context)   L                   NOTES$K_USER_NEW_NAME        New user name string (renames8                                                the user)  L                   NOTES$K_USER_NEW_NODENAME    Changes the node names string  O                   _____________________________________________________________ O                                                        (continued on next page)                       2                A-12  Item List Format and Contents                           0                   Table A-1 (Cont.):  Item CodesO                   _____________________________________________________________eO                   Item_Code____________________Description_____________________   H                   NOTES$K_USER_NODENAME        Node names string (comma-J                                                separated), which, togetherL                                                with the user name, indicatesN                                                which processes may access thisA                                                (private) notefile   M                   NOTES$K_USER_WRITE_BYPASS    User may write to write-locked M                                                conference, reply-only confer- O                   _____________________________ence,_and_write-locked_topic____O                                                                O                                             Item List Format and Contents  A-13$ O  A                                  O                                                                      Appendix B     O                                                                  Sample Program O                ________________________________________________________________     N                   The BASIC program presented in this appendix extracts unseenK                   notes from the notefile (or notefiles) specified interac-mK                   tively by the user, and writes the note headings and text N                   to a VMS text file. Each specified notefile must be an entryL                   in the user's Notebook. The entire notefile is checked forD                   unseen notes; ranges of notes cannot be specified.  7                   There are five parts to this program:   I                    1.ITEMDEF.BAS-Definitions used for creating item lists   L                    2.NOTEDEF.BAS-Definitions of callable routine entrypoints  L                    3.NOTES$ITEMDEF.BAS-Definitions of constants for callable                      routine  J                    4.EXTRACT_NOTE.BAS-Main program to extract unseen notes  L                    5.ITEM_LIST.BAS-Subprogram to enter items into item lists  N                   In ITEMDEF.BAS, separate item list formats are set up for anO                   empty item list (no_list), an item list with only one item iniM                   it (one_list), an input item list (inp_list), and an outputoM                   item list (out_list). This is required for specifying inputlO                   and output item lists for the callable routines. The inp-listoM                   and out-list item lists allow a maximum of 15 entries to be K                   passed. The no-list and one-list item lists are for those G                   routines that do not require more than one parameter.   O                   The definition file NOTES$ITEMDEF.BAS, which is provided with M                   the software kit, contains the definitions (numeric values) I                   of the item codes. Definition files for other languages K                   are also provided with the software kit; following is theO                    complete list:  O                                                             Sample Program  B-1o o  N                      &                    o NOTES$ITEMDEF.ADA  &                    o NOTES$ITEMDEF.BAS  &                    o NOTES$ITEMDEF.FOR  $                    o NOTES$ITEMDEF.H  &                    o NOTES$ITEMDEF.MAR  &                    o NOTES$ITEMDEF.PAS  &                    o NOTES$ITEMDEF.PLI  &                    o NOTES$ITEMDEF.R32  &                    o NOTES$ITEMDEF.SDL  N                   Only the item codes used by the EXTRACT_NOTE.BAS program are1                   included in the sample program.O  I                   The part NOTEDEF.BAS contains definitions for the error M                   codes used in the EXTRACT_NOTE.BAS program. A complete listnI                   of error codes and their values is provided in the fileI$                   NOTES$ITEMDEF.BAS.  J                   In the main program EXTRACT_NOTE.BAS, it is important toL                   note the order in which the VAX Notes routines are called.K                   First, the NOTES$NOTEFILE_BEGIN routine is called to openOO                   the notefile specified by the entry name supplied by the userNL                   (or the first entry name matching the user's input if thatM                   input included a wildcard). As long as the notefile remains O                   open, any work can be performed on the data in that notefile. M                   In the program EXTRACT_NOTE.BAS, this work consists only of N                   extracting unseen notes. The NOTES$NOTEFILE_BEGIN routine isA                   called in the segment beginning with line 1104.   M                   In the segment beginning with line 1106, the NOTES$NOTE_GET J                   routine is called to make sure there are unseen notes toK                   get. If so, an output file (NOTES.TXT) is opened, and theEL                   conference heading information is formatted and written to"                   the output file.  L                   A loop is set up within segments beginning with lines 1108J                   and 1109 to get all the text for all unseen notes in theM                   currently open notefile. The NOTES$NOTE_GET routine returnsnM                   only the note heading information. In the segment beginningtN                   with line 1109, the NOTES$NOTE_GET_TEXT is called repeatedlyO                   for each line of text for the note retrieved with NOTES$NOTE__M                   GET. (Note text is retrieved one record or line at a time.)_  "                B-2  Sample Program S                         L                   Once all the text for the note is extracted and written toN                   the output file (NOTE.TXT), the program gets the next unseenM                   note and repeats this process until all unseen notes in thef+                   file have been extracted.   N                   Finally, the notefile is closed (line 1202), and the programO                   checks to see whether the user specified another notefile. IfEO                   so, the loop starting at line 1104 is executed again. If not,E#                   the program ends.e  M                   You must create a command procedure for linking as follows:   6                     $ LINK yourfile, SYS$INPUT:/OPTION3                       SYS$LIBRARY:NOTES$SHARE/SHARE                      $ EXIT  1                Example B-1:  Sample BASIC Program O                ________________________________________________________________N  _                --------------------------------------------------------------------------------                 ITEMDEF.BAS_                --------------------------------------------------------------------------------t  @                        DECLARE BYTE CONSTANT max_item_index = 14V                        DECLARE BYTE CONSTANT max_item_entries = (max_item_index+1%)*3%  O                _________________________________________________________________O                                                        (continued on next page)                                   O                                                             Sample Program  B-3e i  F                      9                Example B-1 (Cont.):  Sample BASIC Program-O                _________________________________________________________________  [                        !------------------------------------------------------------------!_[                        !                                                                  ! [                        ! Common RECORD descriptor for an item list of 15 items            ! [                        !                                                                  ! [                        !------------------------------------------------------------------!i2                        RECORD ITEM_LIST_DESCRIPTOR4                          GROUP item (max_item_index)"                            VARIANT                            CASE 1                                WORD buffer_length -                                WORD item_codet2                                LONG buffer_address9                                LONG return_length_addressO                            CASEw.                                LONG terminator&                            END VARIANT"                          END GROUP"                          LONG FILL!                        END RECORDE  [                        !------------------------------------------------------------------!e[                        !                                                                  ! [                        ! Common RECORD descriptor for a single item list                  !e[                        !                                                                  !S[                        !------------------------------------------------------------------! 1                        RECORD ONE_LIST_DESCRIPTOR_1                                WORD buffer_length -                                WORD item_code 2                                LONG buffer_address9                                LONG return_length_address (                                LONG FILL!                        END RECORD   [                        !------------------------------------------------------------------! [                        !                                                                  !m[                        ! MAP command for sharing of memory                                !:[                        !                                                                  !s[                        !------------------------------------------------------------------!   O                ________________________________________________________________ O                                                        (continued on next page)   "                B-4  Sample Program d  c                      9                Example B-1 (Cont.):  Sample BASIC Program=O                ________________________________________________________________u  X                        MAP (itemls)    LONG no_list,                                   &X                                        ONE_LIST_DESCRIPTOR one_list,                   &X                                        ITEM_LIST_DESCRIPTOR inp_list,                  &D                                        ITEM_LIST_DESCRIPTOR out_list  O                ________________________________________________________________ O                                                        (continued on next page)                                                                       O                                                             Sample Program  B-5                            9                Example B-1 (Cont.):  Sample BASIC Program O                ________________________________________________________________   _                --------------------------------------------------------------------------------                 NOTEDEF.BAS_                --------------------------------------------------------------------------------$  +                        %INCLUDE "NOTEITEMS"f  P                        DECLARE LONG CONSTANT                                   &P                                        NOTES$_NO_SUCH_NOTE = 66830642,         &P                                        NOTES$_NO_MORE_NOTES = 66822176,        &P                                        NOTES$_NO_MORE_ENTRIES = 66822160,      &E                                        NOTES$_NO_MORE_TEXT = 66822184   P                        EXTERNAL LONG FUNCTION                                  &P                                        NOTES$NOTEFILE_BEGIN,                   &P                                        NOTES$NOTEFILE_END,                     &P                                                                                &P                                        NOTES$ENTRY_BEGIN,                      &P                                        NOTES$ENTRY_GET,                        &P                                        NOTES$ENTRY_END,                        &P                                                                                &P                                        NOTES$NOTE_BEGIN,                       &P                                        NOTES$NOTE_GET,                         &P                                        NOTES$NOTE_GET_TEXT,                    &5                                        NOTES$NOTE_END   _                --------------------------------------------------------------------------------                 NOTEITEMS.BAS_                --------------------------------------------------------------------------------   O                ________________________________________________________________ O                                                        (continued on next page)                       "                B-6  Sample Program _  _                      9                Example B-1 (Cont.):  Sample BASIC ProgramxO                ________________________________________________________________n  9                declare long constant NOTES$K_NOSIGNAL = 1 D                !  Setting this on a BEGIN operation disables signals0                ! -----------------------------*/<                declare long constant NOTES$K_TEXT_STRING = 20                ! -----------------------------*/<                declare long constant NOTES$K_NOTE_AUTHOR = 6?                declare long constant NOTES$K_NOTE_BLINK_ID = 10_B                declare long constant NOTES$K_NOTE_CREATE_TIME = 129                declare long constant NOTES$K_NOTE_ID = 14 A                declare long constant NOTES$K_NOTE_NUMRECORDS = 17 C                declare long constant NOTES$K_NOTE_NUMRESPONSES = 18m?                declare long constant NOTES$K_NOTE_PEN_NAME = 19 <                declare long constant NOTES$K_NOTE_TITLE = 23=                declare long constant NOTES$K_NOTE_UNSEEN = 25 0                ! -----------------------------*/  O                ________________________________________________________________nO                                                        (continued on next page)h                                                O                                                             Sample Program  B-7                            9                Example B-1 (Cont.):  Sample BASIC Program O                ________________________________________________________________   B                declare long constant NOTES$K_NOTEFILE_CONTEXT = 280                ! -----------------------------*/:                declare long constant NOTES$K_CONTINUE = 380                ! -----------------------------*/<                declare long constant NOTES$K_ENTRY_NAME = 390                ! -----------------------------*/F                declare long constant NOTES$K_NOTEFILE_CREATE_TIME = 46G                declare long constant NOTES$K_NOTEFILE_DEFAULT_NAME = 47 E                declare long constant NOTES$K_NOTEFILE_ENTRYTOTAL = 48eD                declare long constant NOTES$K_NOTEFILE_FILE_NAME = 49B                declare long constant NOTES$K_NOTEFILE_LASTREV = 52A                declare long constant NOTES$K_NOTEFILE_NOTICE = 55 C                declare long constant NOTES$K_NOTEFILE_NUMNOTES = 56RF                declare long constant NOTES$K_NOTEFILE_RESULT_SPEC = 59@                declare long constant NOTES$K_NOTEFILE_TITLE = 600                ! -----------------------------*/:                declare long constant NOTES$K_SEEN_MAP = 710                ! -----------------------------*/B                declare long constant NOTES$K_NOTE_BLINK_TITLE = 79D                declare long constant NOTES$K_NOTE_HINT_GET_TEXT = 820                ! -----------------------------*/  _                --------------------------------------------------------------------------------                 EXTRACT_NOTE.BASi_                --------------------------------------------------------------------------------C                  1       !P                        ! Sample program using the VAX Notes callable routines toQ                        ! extract all UNSEEN notes from an ENTRY in your NOTEBOOK.E                        !-                        OPTION TYPE = EXPLICIT   S                        %INCLUDE "ITEMDEF"            ! Item list RECORD definitions [                        %INCLUDE "NOTEDEF"            ! VAX Notes entry points and constantsi  8                        EXTERNAL LONG CONSTANT SS$_NORMALD                        EXTERNAL LONG FUNCTION SYS$ASCTIM, SYS$GETMSG  X                        MAP (cnstnt)    STRING  zero$0                  = 4,            &X                                                plus$1                  = 4,            &J                                                minus$1                 = 4  O                ________________________________________________________________CO                                                        (continued on next page)   "                B-8  Sample Program    A                      9                Example B-1 (Cont.):  Sample BASIC ProgramSO                _________________________________________________________________  X                        MAP (cnstnt)    LONG    zero,                   ! binary  0%    &X                                                plus_1,                 ! binary  1%    &S                                                minus_1                 ! binary -1%   X                        MAP (contxt)    STRING  note_ctx                = 4,            &X                                                entry_ctx               = 4,            &X                                                notefile_ctx            = 4,            &J                                                notebook_ctx            = 4  O                ________________________________________________________________sO                                                        (continued on next page)                                                               O                                                             Sample Program  B-9S b  g                      9                Example B-1 (Cont.):  Sample BASIC ProgramiO                ________________________________________________________________a  X                        MAP (contxt)    LONG    note_l_ctx,                             &X                                                entry_l_ctx,                            &X                                                notefile_l_ctx,                         &=                                                notebook_l_ctx   X                        MAP (integr)    STRING  notefile_entrytotal     = 4,            &X                                                notefile_numnotes       = 4,            &X                                                note_numresponses       = 4,            &X                                                note_numrecords         = 4,            &J                                                note_type               = 4  X                        MAP (integr)    LONG    notefile_l_entrytotal,                  &X                                                notefile_l_numnotes,                    &X                                                note_l_numresponses,                    &X                                                note_l_numrecords,                      &:                                                note_l_type  X                        MAP (stryng)    STRING  notefile_create_time    = 8,            &X                                                notefile_lastrev_time   = 8,            &X                                                note_create_time        = 8,            &X                                          WORD  notefile_result_spec_len,               &X                                        STRING  notefile_result_spec    = 254,          &X                                          WORD  notefile_title_len,                     &X                                        STRING  notefile_title          = 80,           &X                                          WORD  notefile_notice_len,                    &X                                        STRING  notefile_notice         = 80,           &X                                          WORD  notefile_file_name_len,                 &X                                        STRING  notefile_file_name      = 254,          &X                                          WORD  notefile_seen_map_len,                  &X                                        STRING  notefile_seen_map       = 2048,         &X                                          WORD  note_author_len,                        &X                                        STRING  note_author             = 32,           &X                                          WORD  note_pen_name_len,                      &X                                        STRING  note_pen_name           = 64,           &X                                          WORD  note_title_len,                         &X                                        STRING  note_title,             = 80,           &X                                          WORD  note_blink_title_len,                   &X                                        STRING  note_blink_title        = 80,           &X                                          WORD  note_id_len,                            &X                                        STRING  note_id                 = 16,           &  O                ________________________________________________________________tO                                                        (continued on next page)   #                B-10  Sample Programp P  r                      9                Example B-1 (Cont.):  Sample BASIC ProgrameO                ________________________________________________________________rX                                          WORD  note_blink_id_len,                      &X                                        STRING  note_blink_id           = 16,           &X                                          WORD  note_text_len,                          &L                                        STRING  note_text               = 512  O                ________________________________________________________________nO                                                        (continued on next page)o                                                                        O                                                            Sample Program  B-11                            9                Example B-1 (Cont.):  Sample BASIC Program_O                ________________________________________________________________-  X                        MAP (scrtch)      LONG  ret_status, junk_status,                &X                                          WORD  msg_text_len,                           &L                                        STRING  msg_text                = 256  ;                        DECLARE BYTE    inp_index, out_index_  5                        DECLARE WORD    i, default_len_  K                        DECLARE LONG    notebook_open_flag, output_open_flag   X                        DECLARE STRING                                                  &X                                        last_note_id,                                   &X                                        left_part, mid_part, right_part,                &X                                        entry_name, note_range,                         &X                                        notebook_name, notebook_default, notefile_default  X                        DECLARE BYTE CONSTANT                                           &X                                        line_len = 80,                                  &X                                        inp_initial = 1,                                &7                                        out_initial = 16-  X                        DECLARE STRING CONSTANT                                         &X                                        notes$notebook = "NOTES$NOTEBOOK",              &X                                        notes$notebook_default = "SYS$LOGIN:.NOTE",     &U                                        notes$notefile_default = "NOTES$LIBRARY:.NOTE"   X                        DECLARE LONG FUNCTION                                           &<                                        fnREPORT_ERROR (LONG)  X                        DECLARE STRING FUNCTION                                         &X                                        fnCENTER_LINE (STRING),                         &X                                        fnLEFT (STRING,STRING),                         &X                                        fnRIGHT (STRING,STRING),                        &X                                        fnMID (STRING,STRING,STRING),                   &X                                        fnUNQUOTE (STRING),                             &X                                        fnPLURAL (LONG,STRING,STRING,STRING),           &X                                        fnASCII_DATE (STRING),                          &N                                        fnFORMAT_HEADING (STRING,STRING,STRING)  O                ________________________________________________________________ O                                                        (continued on next page)-  #                B-12  Sample Program- -  -                      9                Example B-1 (Cont.):  Sample BASIC Program O                ________________________________________________________________   F                1000    ! Initialize error handler and useful constants*                        ON ERROR GOTO 19000                         zero = 0%"                        plus_1 = 1%(                        minus_1 = -plus_15                        notebook_name = notes$notebook_@                        notebook_default = notes$notebook_default@                        notefile_default = notes$notefile_default)                        note_range = "*.*" ,                        default_len = minus_1  ;                1100    ! Main loop to request entry name(s)_0                        PRINT "Enter entry name";(                        LINPUT entry_name9                        entry_name = fnUNQUOTE(entry_name) 8                        GOTO 19020 UNLESS LEN(entry_name)  @                1101    ! First open notebook to find which entry5                        IF NOT notebook_open_flag THEN 6                                inp_index = inp_initial]                                CALL ITEM_LIST (inp_index,notes$k_nosignal,plus$1,default_len) n                                CALL ITEM_LIST (inp_index,notes$k_notefile_file_name,notebook_name,default_len)l                                CALL ITEM_LIST (inp_index,notes$k_notefile_default_name,notebook_default    &M                                                                 ,default_len) b                                ret_status = NOTES$NOTEFILE_BEGIN (notebook_l_ctx,inp_list,no_list)K                                GOTO 2005 UNLESS (ret_status AND ss$_normal) @                        ! Prepare for getting notebook entry infoi                                CALL ITEM_LIST (minus_1,notes$k_notefile_context,notebook_ctx,default_len) \                                ret_status = NOTES$ENTRY_BEGIN (entry_l_ctx,one_list,no_list);                                notebook_open_flag = minus_1                         END IF   O                ________________________________________________________________ O                                                        (continued on next page)                 O                                                            Sample Program  B-13                            9                Example B-1 (Cont.):  Sample BASIC ProgramEO                ________________________________________________________________N  0                1103    ! Get notebook entry info.                        inp_index = inp_initialU                        CALL ITEM_LIST (inp_index,notes$k_nosignal,plus$1,default_len)&[                        CALL ITEM_LIST (inp_index,notes$k_entry_name,entry_name,default_len) .                        out_index = out_initialm                        CALL ITEM_LIST (out_index,notes$k_notefile_file_name                                 & k                                                                 ,notefile_file_name,notefile_file_name_len) j                        CALL ITEM_LIST (out_index,notes$k_seen_map,notefile_seen_map,notefile_seen_map_len)S                        ret_status = NOTES$ENTRY_GET (entry_l_ctx,inp_list,out_list)   O                ________________________________________________________________-O                                                        (continued on next page)-                                                            #                B-14  Sample Program_ _  _                      9                Example B-1 (Cont.):  Sample BASIC Program O                ________________________________________________________________P  /                1104    ! Opening entry notefile 8                        WHILE (ret_status AND ss$_normal)n                            PRINT "Extracting UNSEEN notes from "                                             &b                                                 + LEFT$(notefile_file_name,notefile_file_name_len)2                            inp_index = inp_initialY                            CALL ITEM_LIST (inp_index,notes$k_nosignal,plus$1,default_len)-p                            CALL ITEM_LIST (inp_index,notes$k_notefile_default_name,notefile_default,default_len)n                            CALL ITEM_LIST (inp_index,notes$k_notefile_file_name,notefile_file_name           &X                                                                 ,notefile_file_name_len)n                            CALL ITEM_LIST (inp_index,notes$k_seen_map,notefile_seen_map,notefile_seen_map_len)2                            out_index = out_initialn                            CALL ITEM_LIST (out_index,notes$k_notefile_create_time,notefile_create_time       &M                                                                 ,default_len)_p                            CALL ITEM_LIST (out_index,notes$k_notefile_lastrev,notefile_lastrev_time,default_len)q                            CALL ITEM_LIST (out_index,notes$k_notefile_entrytotal,notefile_entrytotal,default_len) m                            CALL ITEM_LIST (out_index,notes$k_notefile_numnotes,notefile_numnotes,default_len) n                            CALL ITEM_LIST (out_index,notes$k_notefile_result_spec,notefile_result_spec       &Z                                                                 ,notefile_result_spec_len)n                            CALL ITEM_LIST (out_index,notes$k_notefile_title,notefile_title,notefile_title_len)q                            CALL ITEM_LIST (out_index,notes$k_notefile_notice,notefile_notice,notefile_notice_len)-_                            ret_status = NOTES$NOTEFILE_BEGIN (notefile_l_ctx,inp_list,out_list)cG                            GOTO 2005 UNLESS (ret_status AND ss$_normal)c2                1105    ! Prepare for reading notese                            CALL ITEM_LIST (minus_1,notes$k_notefile_context,notefile_ctx,default_len)sV                            ret_status = NOTES$NOTE_BEGIN (note_l_ctx,one_list,no_list)G                            GOTO 1202 UNLESS (ret_status AND ss$_normal)N7                1106    ! Now we can start getting notesN2                            inp_index = inp_initialY                            CALL ITEM_LIST (inp_index,notes$k_nosignal,plus$1,default_len) \                            CALL ITEM_LIST (inp_index,notes$k_note_id,note_range,default_len)\                            CALL ITEM_LIST (inp_index,notes$k_note_unseen,plus$1,default_len)c                            CALL ITEM_LIST (inp_index,notes$k_note_hint_get_text,plus$1,default_len)-2                            out_index = out_initialY                            CALL ITEM_LIST (out_index,notes$k_note_id,note_id,note_id_len) e                            CALL ITEM_LIST (out_index,notes$k_note_author,note_author,note_author_len) k                            CALL ITEM_LIST (out_index,notes$k_note_pen_name,note_pen_name,note_pen_name_len) b                            CALL ITEM_LIST (out_index,notes$k_note_title,note_title,note_title_len)k                            CALL ITEM_LIST (out_index,notes$k_note_create_time,note_create_time,default_len)   O                ________________________________________________________________XO                                                        (continued on next page)N  O                                                            Sample Program  B-15                            9                Example B-1 (Cont.):  Sample BASIC Program&O                ________________________________________________________________ m                            CALL ITEM_LIST (out_index,notes$k_note_numresponses,note_numresponses,default_len)_i                            CALL ITEM_LIST (out_index,notes$k_note_numrecords,note_numrecords,default_len) k                            CALL ITEM_LIST (out_index,notes$k_note_blink_id,note_blink_id,note_blink_id_len) n                            CALL ITEM_LIST (out_index,notes$k_note_blink_title,note_blink_title               &W                                                                  ,note_blink_title_len) U                            ret_status = NOTES$NOTE_GET (note_l_ctx,inp_list,out_list) J                            GOTO 1201 if (ret_status = notes$_no_such_note)D                            last_note_id = LEFT$(note_id,note_id_len)  O                ________________________________________________________________ O                                                        (continued on next page)                                                                 #                B-16  Sample Program                            9                Example B-1 (Cont.):  Sample BASIC Program_O                ________________________________________________________________   N                1107    ! Open output file for extracts (if not already opened)7                            IF NOT output_open_flag THEN X                                 OPEN "NOTE.TXT" FOR OUTPUT AS FILE #3%                 &X                                                ,SEQUENTIAL VARIABLE                    &X                                                ,ALLOW NONE                             &X                                                ,ACCESS SCRATCH                         &X                                                ,RECORDSIZE 512%                        &P                                                ,DEFAULTNAME "SYS$LOGIN:NOTE.TXT":                                 output_open_flag = minus_1-                            ELSE PRINT #3%, FF&!                            END IF 0                         ! format notefile header@                            PRINT #3%, fnCENTER_LINE("<<< "     &o                                                + LEFT$(notefile_result_spec,notefile_result_spec_len) + " >>>") l                            PRINT #3%, fnCENTER_LINE("-< " + LEFT$(notefile_title,notefile_title_len) + ">-")i                            PRINT #3%, fnFORMAT_HEADING("Created: " + fnASCII_DATE(notefile_create_time) & `                                                ,fnPLURAL(notefile_l_numnotes,"topic","s","")   &b                                                ,"Updated: " + fnASCII_DATE(notefile_lastrev_time))@                            PRINT #3%, fnCENTER_LINE("-< "      &f                                                + LEFT$(notefile_notice,notefile_notice_len) + " >-") &_                                                                        IF (notefile_notice_len)&  O                ________________________________________________________________ O                                                        (continued on next page)                                     O                                                            Sample Program  B-17                            9                Example B-1 (Cont.):  Sample BASIC Program O                ________________________________________________________________   >                1108     ! Continue reading notes until no moreF                             WHILE (ret_status <> notes$_no_more_notes)X                                IF (fnLEFT(last_note_id,".") <> fnLEFT(note_id,".")) THEN4                                        PRINT #3%, FF0                                ELSE    PRINT #3%%                                END IF H                                last_note_id = LEFT$(note_id,note_id_len),                         ! Format note headerF                                PRINT #3%, STRING$(line_len,ASCII("="))I                                IF (POS(last_note_id,".0",1%) = zero) THEN b                                        right_part = fnRIGHT(last_note_id,".") + " of "           &\                                                                 + NUM1$(note_l_numresponses)^                                        mid_part = LEFT$(note_blink_title,note_blink_title_len)R                                ELSE    mid_part = LEFT$(note_title,note_title_len)<                                        note_title_len = zeroK                                        IF (note_l_numresponses = zero) THEN H                                                right_part = "No replies"j                                        ELSE    right_part = fnPLURAL(note_l_numresponses,"repl","ies","y")-                                        END IF %                                END IF d                                PRINT #3%, fnFORMAT_HEADING("Note "+last_note_id,mid_part,right_part)M                                left_part = LEFT$(note_author,note_author_len) l                                left_part = left_part + ' "' + LEFT$(note_pen_name,note_pen_name_len) + '"' &]                                                                        IF (note_pen_name_len)rX                                PRINT #3%, fnFORMAT_HEADING(left_part,SP                &c                                                        ,fnPLURAL(note_l_numrecords,"line","s","") & _                                                        + "  " + fnASCII_DATE(note_create_time))   O                _________________________________________________________________O                                                        (continued on next page)                         #                B-18  Sample Program                            9                Example B-1 (Cont.):  Sample BASIC Program O                ________________________________________________________________   F                                PRINT #3%, STRING$(line_len,ASCII("-"))j                                PRINT #3%, fnCENTER_LINE("-< " + LEFT$(note_title,note_title_len) + ">-") &Z                                                                        IF (note_title_len)(                                PRINT #3%  6                                inp_index = inp_initial]                                CALL ITEM_LIST (inp_index,notes$k_continue,plus$1,default_len)n`                                CALL ITEM_LIST (zero,notes$k_text_string,note_text,note_text_len)^                                ret_status = NOTES$NOTE_GET_TEXT (note_l_ctx,inp_list,one_list)  L                1109    ! Continue reading the text of the note until no moreH                                WHILE (ret_status <> notes$_no_more_text)P                                        PRINT #3%, LEFT$(note_text,note_text_len)f                                        ret_status = NOTES$NOTE_GET_TEXT (note_l_ctx,inp_list,one_list)#                                NEXTfY                                ret_status = NOTES$NOTE_GET (note_l_ctx,inp_list,out_list)                             NEXT   1                1201    ! Finish with note context T                            junk_status = NOTES$NOTE_END (note_l_ctx,no_list,no_list)  +                1202    ! Close the notefile \                            junk_status = NOTES$NOTEFILE_END (notefile_l_ctx,no_list,no_list)  7                1203    ! Try for another wildcard entry M                            junk_status = fnREPORT_ERROR(notes$_no_more_notes) W                            CALL ITEM_LIST (minus_1,notes$k_continue,plus$1,default_len) 2                            out_index = out_initial_                            CALL ITEM_LIST (out_index,notes$k_notefile_file_name               & _                                                     ,notefile_file_name,notefile_file_name_len) n                            CALL ITEM_LIST (out_index,notes$k_seen_map,notefile_seen_map,notefile_seen_map_len)W                            ret_status = NOTES$ENTRY_GET (entry_l_ctx,one_list,out_list)                         NEXT   4                2005    ! Output any unexpected errorK                        junk_status = fnREPORT_ERROR(notes$_no_more_entries)                          GOTO 1100  O                ________________________________________________________________(O                                                        (continued on next page)P    O                                                            Sample Program  B-19  A  I                      9                Example B-1 (Cont.):  Sample BASIC Program O                _________________________________________________________________  /                15000   ! User defined functions   :                        DEF STRING fnCENTER_LINE (STRING x)J                        fnCENTER_LINE = SPACE$((line_len-LEN(x)+1%)/2%) + x                        END DEF  <                        DEF STRING fnLEFT(STRING x, STRING y)7                        fnLEFT = LEFT$(x,POS(x,y,1%)-1%)                         END DEF=                        DEF STRING fnRIGHT(STRING x, STRING y)R?                        fnRIGHT = RIGHT$(x,POS(y+x,y,LEN(y)+1%))                         END DEF  F                        DEF STRING fnMID (STRING x, STRING y, STRING z)7                        fnMID = fnLEFT(fnRIGHT(x,y)+z,z)e                        END DEF  6                        DEF STRING fnUNQUOTE (STRING x);                        x = EDIT$(x,4%+32%+8%+16%+128%+256%) Q                        IF (ASCII(x) = ASCII('"')) OR (ASCII(x) = ASCII("'")) THENs^                                x = MID$(x,2%,LEN(x)-2%) IF (ASCII(x)=ASCII(MID$(x,LEN(x),1%)))                        END IFm$                        fnUNQUOTE = x                        END DEF  P                        DEF STRING fnPLURAL(LONG n, STRING x, STRING y, STRING z)5                        y = z IF (n = 1%)   ! singular 7                        fnPLURAL = NUM1$(n) + SP + x + y                         END DEF  8                        DEF STRING fnASCII_DATE(STRING x)1                        DECLARE STRING time_stringp0                        time_string = SPACE$(24%)G                        junk_status = SYS$ASCTIM(,time_string,x BY REF,)s<                        fnASCII_DATE = LEFT$(time_string,17%)                        END DEFP                        DEF STRING fnFORMAT_HEADING(STRING x, STRING y, STRING z)+                        y = fnCENTER_LINE(y)l7                        x = x + MID$(y,LEN(x)+1%,LEN(y))tP                        fnFORMAT_HEADING = x + SPACE$(line_len-LEN(x)-LEN(z)) + z                        END DEF  O                ________________________________________________________________ O                                                        (continued on next page)l  #                B-20  Sample Program     t                      9                Example B-1 (Cont.):  Sample BASIC Program_O                ________________________________________________________________   7                        DEF LONG fnREPORT_ERROR (LONG e) 0                        IF (ret_status <> e) THENp                                junk_status = SYS$GETMSG(ret_status BY VALUE,msg_text_len,msg_text,15% BY VALUE,)a                                PRINT LEFT$(msg_text,msg_text_len) IF (junk_status AND ss$_normal)_                        END IF                         END DEF  O                ________________________________________________________________iO                                                        (continued on next page)L                                                                  O                                                            Sample Program  B-21o i  x                      9                Example B-1 (Cont.):  Sample BASIC Program O                ________________________________________________________________a  %                19000 ! Error recoveryM#                        RESUME 19010eM                19010   PRINT ERR;ERL;'"' + ERT$(ERR) + '"' UNLESS (ERR = 11%)$2                19020   ! Finish with entry contextR                        junk_status = NOTES$ENTRY_END (entry_l_ctx,no_list,no_list)'                19030   ! Close notebook X                        junk_status = NOTES$NOTEFILE_END (notebook_l_ctx,no_list,no_list)*                19040   ! Close output file                         CLOSE #3%                32767   END  _                --------------------------------------------------------------------------------_                ITEM_LIST.BAS_                --------------------------------------------------------------------------------   T                1       SUB ITEM_LIST (BYTE indx, WORD code, STRING entry, WORD rlen)  -                        OPTION TYPE = EXPLICIT   S                        %INCLUDE "ITEMDEF"            ! Item list RECORD definitions   ,                        DECLARE BYTE lcl_indx,                        DECLARE WORD buff_lenB                        DECLARE LONG buff_adr, rlen_loc, ret_status  ?                        EXTERNAL LONG FUNCTION STR$ANALYZE_SDESC)  O                        ret_status = STR$ANALYZE_SDESC (entry,buff_len,buff_adr)o  P                        rlen_loc = LOC(rlen) IF (rlen <> -1%)   ! -1 = don't care  "                        SELECT indx]                           CASE -1% TO 0%                       ! -1 = input, 0 = output/inputs+                                IF indx THENi3                                       rlen_loc = 0%TY                                       buff_len = rlen IF (rlen < buff_len) IF (rlen>= 0%) ;                                ELSE   rlen = 0% IF rlen_locn%                                END IFME                                one_list::item_code             = code_I                                one_list::buffer_length         = buff_len_I                                one_list::buffer_address        = buff_adrLI                                one_list::return_length_address = rlen_locl  O                ________________________________________________________________sO                                                        (continued on next page)   #                B-22  Sample Programe                           9                Example B-1 (Cont.):  Sample BASIC ProgramtO                ________________________________________________________________t  P                          CASE 1% TO 15%                        ! input item listR                                buff_len = rlen IF (rlen < buff_len) IF (rlen>= 0%)3                                lcl_indx = indx - 1%_U                                inp_list::item(lcl_indx)::item_code             = code Y                                inp_list::item(lcl_indx)::buffer_length         = buff_len Y                                inp_list::item(lcl_indx)::buffer_address        = buff_adr S                                inp_list::item(lcl_indx)::return_length_address = 0%wX                                inp_list::item(lcl_indx+1%)::terminator = 0%            &U                                                        IF (lcl_indx < max_item_index) /                                indx = indx + 1%tQ                          CASE 16% TO 30%                       ! Output item listp4                                rlen = 0% IF rlen_loc4                                lcl_indx = indx - 16%U                                out_list::item(lcl_indx)::item_code             = codeiY                                out_list::item(lcl_indx)::buffer_length         = buff_lenlY                                out_list::item(lcl_indx)::buffer_address        = buff_adrnY                                out_list::item(lcl_indx)::return_length_address = rlen_loceX                                out_list::item(lcl_indx+1%)::terminator = 0%            &U                                                        IF (lcl_indx < max_item_index) /                                indx = indx + 1%i!                        END SELECT_                  32767   END SUB  O                ________________________________________________________________                                   O                                                            Sample Program  B-23                                        O                                                                      Appendix C_    O                                                                        MessagesSO                ________________________________________________________________                        (TBS)S                                                              O                                                                   Messages  C-1n _  n                                        K                                                                       IndextO                ________________________________________________________________     E                C___________________________    Entry routines (Cont.)O  I                Callable routines                 NOTES$ENTRY_GET_KEYWORD,i5                  calling sequence, 1-9             42 G                  continuable operations,         NOTES$ENTRY_MODIFY, 45_G                     1-11                         NOTES$ENTRY_UPDATE, 48 D                  description, 1-8              Error reporting, 1-10                  diagrams, 1-11 K                  error reporting, 1-10         H___________________________ H                  high-level interface, 1-1     High-level interface, 1-1$                Calling sequence, 1-90                Class routines                  IK                  NOTES$CLASS_ADD, 3            ____________________________e>                  NOTES$CLASS_BEGIN, 6          Item codes, A-2>                  NOTES$CLASS_DELETE, 9         Item lists, 1-9$                  NOTES$CLASS_END, 12K                  NOTES$CLASS_GET, 15           K___________________________ D                  NOTES$CLASS_GET_ENTRY, 18     Keyword routines, 5-1F                  NOTES$CLASS_MODIFY, 21          NOTES$KEYWORD_ADD, 51H                Continuable operations, 1-11      NOTES$KEYWORD_BEGIN, 54  I                E___________________________      NOTES$KEYWORD_DELETE, 57 F                Entry routines                    NOTES$KEYWORD_END, 60F                  NOTES$ENTRY_ADD, 24             NOTES$KEYWORD_GET, 63K                  NOTES$ENTRY_BEGIN, 27           NOTES$KEYWORD_GET_NOTE, 66 I                  NOTES$ENTRY_DELETE, 30          NOTES$KEYWORD_MODIFY, 69L  K                  NOTES$ENTRY_END, 33           M___________________________l>                  NOTES$ENTRY_GET, 36           Marker routines*                  NOTES$ENTRY_GET_CLASS, 39  O                                                                         Index-1I #               E           Marker routines (Cont.)         NOTES$ENTRY_MODIFY, 4-7, 45 E             See Keyword routines          NOTES$ENTRY_UPDATE, 4-8, 48"D                                           NOTES$KEYWORD_ADD, 5-2, 51F           N___________________________    NOTES$KEYWORD_BEGIN, 5-2, 54D           Notefile format, 1-3            NOTES$KEYWORD_DELETE, 5-3,/           Notefile routines                  57iD             NOTES$NOTEFILE_BEGIN, 72      NOTES$KEYWORD_END, 5-2, 60D             NOTES$NOTEFILE_END, 76        NOTES$KEYWORD_GET, 5-4, 63F             NOTES$NOTEFILE_GET_INFO,      NOTES$KEYWORD_GET_NOTE, 5-4,/                79                            66tD             NOTES$NOTEFILE_LIST, 82       NOTES$KEYWORD_MODIFY, 5-5,/             NOTES$NOTEFILE_LIST_BEGIN,       69mD                85                         NOTES$NOTEFILE_BEGIN, 2-3,/             NOTES$NOTEFILE_MODIFY, 88        72 8           Note routines                     examples, 74E             NOTES$NOTE_ADD, 91            NOTES$NOTEFILE_END, 2-5, 76nB             NOTES$NOTE_ADD_TEXT, 94       NOTES$NOTEFILE_GET_INFO,4             NOTES$NOTE_BEGIN, 97             2-5, 79F             NOTES$NOTE_DELETE, 100        NOTES$NOTEFILE_LIST, 2-7, 82D             NOTES$NOTE_END, 103           NOTES$NOTEFILE_LIST_BEGIN,4             NOTES$NOTE_GET, 106              2-6, 85E             NOTES$NOTE_GET_KEYWORD,       NOTES$NOTEFILE_MODIFY, 2-5, /                110                           88 ?             NOTES$NOTE_GET_TEXT, 113      NOTES$NOTES procedure D             NOTES$NOTE_MODIFY, 116          argument attributes, 1-25           NOTES$CLASS_ADD, 3-2, 3             (table) E           NOTES$CLASS_BEGIN, 3-2, 6         condition values returned 5           NOTES$CLASS_DELETE, 3-3, 9          by, 1-2l:           NOTES$CLASS_END, 3-2, 12          declaring, 1-27           NOTES$CLASS_GET, 3-3, 15          format, 1-2 A           NOTES$CLASS_GET_ENTRY, 3-4,     NOTES$NOTE_ADD, 6-4, 91iF              18                           NOTES$NOTE_ADD_TEXT, 6-5, 94C           NOTES$CLASS_MODIFY, 3-4, 21     NOTES$NOTE_BEGIN, 6-3, 97)E           NOTES$ENTRY_ADD, 4-4, 24        NOTES$NOTE_DELETE, 6-5, 100 B           NOTES$ENTRY_BEGIN, 4-3, 27      NOTES$NOTE_END, 6-4, 103B           NOTES$ENTRY_DELETE, 4-5, 30     NOTES$NOTE_GET, 6-6, 106F           NOTES$ENTRY_END, 4-3, 33        NOTES$NOTE_GET_KEYWORD, 6-8,0           NOTES$ENTRY_GET, 4-5, 36           110C           NOTES$ENTRY_GET_CLASS, 4-6,     NOTES$NOTE_GET_TEXT, 6-8, 0              39                              113E           NOTES$ENTRY_GET_KEYWORD,        NOTES$NOTE_MODIFY, 6-9, 116               4-7, 42             Index-2'                 7           NOTES$PROFILE_BEGIN, 7-2,       User routines ?              119                            NOTES$USER_ADD, 131nA           NOTES$PROFILE_END, 7-2, 122       NOTES$USER_BEGIN, 134 B           NOTES$PROFILE_GET, 7-3, 125       NOTES$USER_DELETE, 137?           NOTES$PROFILE_MODIFY, 7-3,        NOTES$USER_END, 140 ?              128                            NOTES$USER_GET, 143_B           NOTES$USER_ADD, 8-3, 131          NOTES$USER_MODIFY, 146$           NOTES$USER_BEGIN, 8-2, 134%           NOTES$USER_DELETE, 8-4, 137 "           NOTES$USER_END, 8-2, 140"           NOTES$USER_GET, 8-4, 143%           NOTES$USER_MODIFY, 8-5, 146e  &           P___________________________             Profile routines$             NOTES$PROFILE_BEGIN, 119"             NOTES$PROFILE_END, 122"             NOTES$PROFILE_GET, 125%             NOTES$PROFILE_MODIFY, 128            Program sample, B-1   &           R___________________________             Record             access, 1-6              class, 1-7"             conference header, 1-5             entry, 1-7             keyword, 1-6             member, 1-5x             note header, 1-6             note text, 1-6             profile, 1-7  &           S___________________________             Sample program, B-1z           Seen/unseen map, 1-8  &           U___________________________             UID key layout, 1-4T#           Unseen notes, extracting,               B-1  J                                                                    Index-3