home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 16 Announce / 16-Announce.zip / grxsum.zip / GRXSUM.TXT
Text File  |  1994-07-07  |  33KB  |  1,079 lines

  1. OS/2 REXX is a powerful tool which can be used to produce applications, macros
  2. and prototypes.  The language is made flexible and extendable by providing
  3. Application Programming Interfaces (APIs) which allow REXX to interface with the
  4. developers's application.  These interfaces are usually developed using a 
  5. language like C and thus require the developer to be proficient in that language.
  6.  
  7. One viable solution to this problem exists with the GammaTech REXX SuperSet/2,
  8. a set of external library functions for REXX which the REXX developer uses to
  9. interface to a variety of products, including IBM LAN Server, TCP/IP, NetBIOS,
  10. Communications Manager, and others.  The SuperSet/2 also provides the ability
  11. to access low level facilities such as processes, threads, semaphores, named
  12. pipes, VIO commands, and others.
  13.  
  14. The GammaTech REXX SuperSet/2 has over 300 REXX external functions in
  15. seven Dynamic Link Libraries (DLLs), which are full 32 bit implementations.  The
  16. libraries are divided by product and interface type, as follows, so the developer
  17. only needs to load the functions actually used.
  18.  
  19. The seven libraries are:
  20.  
  21.     GRXHLAPI     Communications Manager Interface
  22.     GRXHOST     Miscellaneous Host Utilities
  23.     GRXLSNET     LAN Server Interface
  24.     GRXNETB     NetBIOS Interface
  25.     GRXTCPIP     TCP/IP Interface
  26.     GRXUPM     User Profile Management Interface
  27.     GRXUTILS     General OS/2 Utilities
  28.  
  29. Following is a short description of each function of the GammaTech REXX
  30. SuperSet/2 by library.
  31.  
  32. Ordering information for the GammaTech REXX SuperSet/2 is contained in the
  33. GRXORD.TXT file in library 1 (Other Vendors) of the OS2AVEN forum, or by
  34. contacting:
  35.  
  36.     SofTouch Systems
  37.     1300 S. Meridian Suite 600
  38.     Oklahoma City, OK 73108
  39.     Phone: (405) 947-8080
  40.     FAX:   (405) 632-6537
  41.  
  42. If you have any questions, please contact us at the above address, leave a
  43. message in the OS2AVEN forum Other Vendors section, or e-mail to the
  44. following CompuServe addresses:
  45.  
  46. Sales & Marketing:
  47.     Felix Cruz 72274,3102
  48.  
  49. Technical Support:
  50.     Mike Norton 75047,2647
  51.     
  52.  
  53.  
  54. *************  GRXHLAPI (EHLLAPI)  Communications Manager Interface  ***********
  55.  
  56. The GRXHLAPI.DLL provides the REXX programmer with an interface to the 
  57. IBM Extended Services Communications Manager or the IBM Communications 
  58. Manager/2 emulator sessions.  Full EHLLAPI functionality (with the exception of 
  59. asynchronous functions) is provided.
  60.  
  61. Change_Switch_Name (Service 105)    Changes the presentation space switchlist     
  62.                     name to the specified new name.
  63.  
  64. Change_Window_Name (Service 106)    Changes the presentation space window 
  65.                     name to the specified new name.
  66.  
  67. Connect_PM_Srvcs (Service 101)    Connects the application to a presentation 
  68.                     space for only the EHLLAPI Presentation 
  69.                     Manager services.
  70.  
  71. Connect_PS (Service 1)            Connects the program to a logical 
  72.                     Communications Manager session.
  73.  
  74. Convert_Position (Service 99)        Converts position to row/column.
  75.  
  76. Convert_RowCol (Service 99)        Converts row/column info in the session 
  77.                     to presentation space position.
  78.  
  79. Copy_Field_To_Str (Service 34)        Copies the field data located in the 
  80.                     connected presentation space.
  81.  
  82. Copy_Oia (Service 13)            Returns the Operator Information Area from 
  83.                     the connected session. 
  84.  
  85. Copy_PS (Service 5)            Return the entire contents of the currently 
  86.                     connected session.
  87.  
  88. Copy_PS_To_Str (Service 8)        Returns data from the curently connected 
  89.                     session.
  90.  
  91. Copy_Str_to_Field (Service 33)        Copies string to the field in the connected 
  92.                     session.
  93.  
  94. Copy_Str_to_PS (Service 15)        Copies string to pos position in the 
  95.                     connected session.
  96.  
  97. Disconnect_PM_Srvcs (Service 102)    Disconnects the Presentation Manager 
  98.                     window services connection.
  99.  
  100. Disconnect_PS (Service 2)        Disconnects from the currently connected 
  101.                     presentation space session.
  102.  
  103. Find_Field_Len (Service 32)        Returns the length of the field with 
  104.                     attributes 
  105.  
  106. Find_Field_Pos (Service 31)        Returns the position of the field with 
  107.                     attributes. 
  108.  
  109. Get_key (Service 51)            Return the next intercepted keystroke 
  110.                     from the session specified.
  111.  
  112. Get_GrxHLLAPI_Ver            Returns the version of the GRXHLAPI.DLL 
  113.                     which is currently running. 
  114.  
  115. Lock_PM_Srvcs (Service 61)        Locks the presentation space window so 
  116.                     that the EHLLAPI application has exclusive 
  117.                     control over the window.
  118.  
  119. Lock_PS (Service 60)            Locks the presentation space so that the 
  120.                     EHLLAPI application has exclusive control 
  121.                     over the presentation space.
  122.  
  123. Pause (Service 18)            Causes a timed pause of n 1/2 second 
  124.                     intervals to occur.
  125.  
  126. PM_Window_Status (Service 104)    Allows an application to query or change a 
  127.                     PS window size, location, or visible state.
  128.  
  129. Post_Intercept_Status (Service 52)    Informs EHLLAPI that a keystroke obtained 
  130.                     through the Get_Key service was accepted 
  131.                     or rejected.
  132.  
  133. Query_Close_Intercept (Service 42)    Allows the application to determine if the 
  134.                     CLOSE option on the emulator session pull-
  135.                     down menu was selected.
  136.  
  137. Query_Cursor_Loc (Service 7)        Returns the cursor position in the currently 
  138.                     connected session or '0' if not connected 
  139.                     to a session.
  140.  
  141. Query_Field_Attr (Service 14)        Returns the text representation of the 
  142.                     attribute of the field in the currently 
  143.                     connected session. 
  144.  
  145. Query_Host_Update (Service 24)    Determines if the host has updated the 
  146.                     presentation space, OIA or both.
  147.  
  148. Query_Session_Status (Service 22)    Returns session status information. 
  149.  
  150. Query_sessions (Service 10)        Returns 12 bytes for each configured session. 
  151.  
  152. Query_system (Service 20)        Returns system configuration string. 
  153.  
  154. Query_Window_Coords (Service 103)    Returns the presentation space window 
  155.                     coordinates.
  156.  
  157. Receive_File (Service 91)        Executes the 'RECEIVE.EXE' program as if 
  158.                     it had been entered at the command line. 
  159.  
  160. Release (Service 12)            Unlock the connected display session 
  161.                     keyboard for user use.
  162.  
  163. Reserve (Service 11)            Locks the keyboard of the currently 
  164.                     connected session until either a Release 
  165.                     or a Disconnect_PS is done.
  166.  
  167. Reset_System (Service 21)        Resets the system parameters (set with 
  168.                     Set_session_parms service) to their 
  169.                     default state.
  170.  
  171. Search_Field (Service 30)        Search the currently connected session's 
  172.                     presentation space for a field containing 
  173.                     a string, starting at position pos.
  174.  
  175. Search_PS (Service 6)            Search the currently connect session's 
  176.                     presentation space for a string. 
  177.  
  178. Send_File (Service 90)            Executes the 'SEND.EXE' program as if it 
  179.                     had been entered at the command line. 
  180.  
  181. Sendkey (Service 3)            Send the keys as defined by the contents of 
  182.                     string. Up to total of 255 keys may be  
  183.                     sent at a single time.
  184.  
  185. Set_Cursor (Service 40)            Positions the cursor at position pos in the 
  186.                     currently connected session.
  187.  
  188. Set_Session_Parms (Service 9)        Sets the current session parameters from 
  189.                     string.
  190.  
  191. Start_Close_Intercept (Service 41)    Allows the application to intercept close 
  192.                     requests when the user selects the close 
  193.                     option from the presentation space's 
  194.                     window.
  195.  
  196. Start_Host_Notify (Service 23)        Starts trapping of host session screen 
  197.                     update events.
  198.  
  199. Start_Key_Intercept (Service 50)    All keystrokes to the session specified will 
  200.                     be buffered for processing. 
  201.  
  202. Stop_Close_Intercept (Service 43)    Ends trapping of host session close 
  203.                     requests.
  204.  
  205. Stop_Host_Notify (Service 25)        Ends trapping of host session screen 
  206.                     update events started by a preceding 
  207.                     Start_Host_Notify service.
  208.  
  209. Stop_Key_Intercept (Service 53)    Ends trapping of keystrokes started by a 
  210.                     preceding Start_Key_Interecpt 
  211.                     service.
  212.  
  213. Wait (Service 4)            Will check the status of the currently 
  214.                     connected session. 
  215.  
  216.  
  217.  
  218. ******************  GRXHOST (Miscellaneous Host Utilities)  ************************* 
  219.  
  220. The GRXHOST.DLL provides the REXX programmer with a set of functions
  221.  which are available on most MVS and VM systems but are missing from the 
  222. OS/2 REXX environment.
  223.  
  224. ExecIO                    The EXECIO command performs the 
  225.                     specified file input/output operation.
  226.  
  227. HI - Halt Interpretation            The HI command halts interpretation
  228.                     of the current REXX exec.
  229.  
  230. TE - Trace End                Terminate tracing.
  231.  
  232. TS - Trace Start            Initiate tracing.
  233.  
  234.  
  235.  
  236.  
  237. ************************  GRXLSNET (LAN Server Interface)  ************************ 
  238.  
  239. The GRXLSNET.DLL provides the REXX programmer with an interface to most
  240. of the IBM LAN Server version 2.0 and 3.0 APIs.
  241.  
  242.  
  243. Miscellaneous Functions
  244.  
  245. GrxLSNetDropFuncs            Drop (deregister) all of the GRXLSNET 
  246.                     functions.
  247.  
  248. GrxLSNetLoadFuncs            Load (register) all of the GRXLSNET 
  249.                     functions.
  250.  
  251. GrxLSNetVersion            Returns the version of the 
  252.                     GRXLSNET.DLL which is currently 
  253.                     running.
  254.  
  255. Protection Functions
  256.  
  257. GrxNetAccessAdd            Adds access permissions for a server 
  258.                     resource.
  259.  
  260. GrxNetAccessCheck            Checks that a user has permission to 
  261.                     access a resource.
  262.  
  263. GrxNetAccessDel            Deletes all access permissions for the 
  264.                     specified resource.
  265.  
  266. GrxNetAccessEnum            Enumerates the list of access permissions 
  267.                     from a base path.
  268.  
  269. GrxNetAccessGetInfo            Returns the access information for a base 
  270.                     path.
  271.  
  272. GrxNetAccessGetUserPerms        Returns the access information for a base 
  273.                     path.
  274.  
  275. GrxNetAccessSetInfo            Sets the access information for a base
  276.                     path.
  277.  
  278. GrxNetGetDCName            Returns the name of the domain controller 
  279.                     for a domain.
  280.  
  281. GrxNetGroupAdd            Adds a new group to the domain user 
  282.                     accounts database.
  283.  
  284. GrxNetGroupAddUser            Adds a new user to the specified group.
  285.  
  286. GrxNetGroupDel                Deletes a group name from the domain 
  287.                     database.
  288.  
  289. GrxNetGroupDelUser            Deletes a user from a group in the domain 
  290.                     database.
  291.  
  292. GrxNetGroupEnum            Enumerates the list of groups in the 
  293.                     database.
  294.  
  295. GrxNetGroupGetUsers            Returns the list of users in a group.
  296.  
  297. GrxNetGroupSetUsers            Replaces the list of users in a group.
  298.  
  299. GrxNetLogonEnum            Enumerates the list of logged on users
  300.                     in the domain database.
  301.  
  302. GrxNetUserAdd                Adds a new user domain user accounts 
  303.                     database.
  304.  
  305. GrxNetUserDel                Deletes a user from the domain user 
  306.                     accounts database.
  307.  
  308. GrxNetUserEnum            Enumerates the list of users in the domain 
  309.                     database.
  310.  
  311. GrxNetUserGetGroups            Enumerates the list of groups in which a 
  312.                     user is a member.
  313.  
  314. GrxNetUserGetInfo            Returns information about a user.
  315.  
  316. GrxNetUserModalsGet            Returns information common to the entire 
  317.                     domain database.
  318.  
  319. GrxNetUserModalsSet            Changes information common to the entire 
  320.                     domain database.
  321.  
  322. GrxNetUserPasswordSet            Changes the password for a user account in 
  323.                     the domain database.
  324.  
  325. GrxNetUserSetGroups            Sets a user's group membership.
  326.  
  327. GrxNetUserSetInfo            Sets information about a user.
  328.  
  329. GrxNetUserValidate2            Validates a user's password and returns 
  330.                     some info about the user.
  331.  
  332.  
  333. Server Administration Functions
  334.  
  335. These functions provide the programmer with a direct interface to the LAN Server server administration 
  336. programming interfaces.
  337.  
  338. GrxNetConnectionEnum            Enumerates the list of active connections.
  339.  
  340. GrxNetFileClose2            Closes a file at a remote server.
  341.  
  342. GrxNetFileEnum2            Enumerates the list of open files at a 
  343.                     remote server.
  344.  
  345. GrxNetFileGetInfo2            Returns information about an open file at  
  346.                     a remote server.
  347.  
  348. GrxNetServerAdminCommand        Returns the return code and any return 
  349.                     data from the execution of the command.
  350.  
  351. GrxNetServerDiskEnum            Enumerates the list of available disk drives 
  352.                     at a server.
  353.  
  354. GrxNetServerEnum2            Enumerates the list of available servers.
  355.  
  356. GrxNetServerGetInfo            Returns information about a specific 
  357.                     server.
  358.  
  359. GrxNetServerSetInfo            Sets information about a specific server.
  360.  
  361. GrxNetSessionDel                Deletes a session between a server and a 
  362.                     workstation.
  363.  
  364. GrxNetSessionEnum            Enumerates the list of active sessions.
  365.  
  366. GrxNetSessionGetInfo            Enumerates the list of active sessions.
  367.  
  368. GrxNetShareAdd                Shares a resource at the specified server.
  369.  
  370. GrxNetShareCheck            Determines if a device is currently being 
  371.                     shared.
  372.  
  373. GrxNetShareDel                Deletes an active share.
  374.  
  375. GrxNetShareEnum            Enumerates the list of active shares.
  376.  
  377. GrxNetShareGetInfo            Gets information about a specific share.
  378.  
  379. GrxNetShareSetInfo            Sets information about a specific share.
  380.  
  381.  
  382. Service and Config Functions
  383.  
  384. These functions provide the programmer with a direct interface to the LAN Server service and config 
  385. programming interfaces.
  386.  
  387. GrxNetConfigGet2            Returns the contents of the parameter  
  388.                     from the specified component of the 
  389.                     IBMLAN.INI file.
  390.  
  391. GrxNetConfigGetAll2            Returns all the parameter for a component in 
  392.                     the IBMLAN.INI file.
  393.  
  394. GrxNetServiceControl            Returns the status of an installed service  
  395.                     at a specified location.
  396.  
  397. GrxNetServiceEnum            Enumerates the list of active services.
  398.  
  399. GrxNetServiceGetInfo            Returns information about a specific 
  400.                     service.
  401.  
  402. GrxNetServiceInstall            Starts a specific installed service.
  403.  
  404.  
  405.  
  406. Workstation Functions
  407.  
  408. These functions provide the programmer with a direct interface to the LAN Server workstation 
  409. programming interfaces.
  410.  
  411. GrxNetMessageBufferSend        Send a message to a workstation.
  412.  
  413. GrxNetMessageFileSend            Send a file to a workstation.
  414.  
  415. GrxNetMessageLogFileGet        Queries the name of the log file and its 
  416.                     current state.
  417.  
  418. GrxNetMessageLogFileSet        Sets the name of the log file and its 
  419.                     current state.
  420.  
  421. GrxNetMessageNameAdd        Adds a new name to the message table.
  422.  
  423. GrxNetMessageNameDel            Deletes a name from the message table.
  424.  
  425. GrxNetMessageNameEnum        Enumerates the list of message names in 
  426.                     the message table.
  427.  
  428. GrxNetMessageNameFwd        Forwards messages from one workstation 
  429.                     to another.
  430.  
  431. GrxNetMessageNameGetInfo        Returns information about a specific 
  432.                     message name in the message table.
  433.  
  434. GrxNetMessageNameUnFwd        Stops forwarding messages from one 
  435.                     workstation to another.
  436.  
  437. GrxNetRemoteCopy            Copies files from one location to another
  438.                     on a remote server.
  439.  
  440. GrxNetRemoteMove            Moves files from one location to another 
  441.                     on a remote server.
  442.  
  443. GrxNetRemoteTOD            Return the time of day elements from a 
  444.                     remote server.
  445.  
  446. GrxNetUseAdd                Establishes a connection between a local 
  447.                     workstation resource name and a server 
  448.                     shared resource.
  449.  
  450. GrxNetUseDel                Deletes a connection between a local 
  451.                     workstation resource name and a server 
  452.                     shared resource.
  453.  
  454. GrxNetUseEnum                Enumerates the list of use names.
  455.  
  456. GrxNetUseGetInfo            Returns information about a use name.
  457.  
  458. GrxNetWkstaGetInfo            Returns information about a workstation.
  459.  
  460. GrxNetWkstaSetInfo            Sets information about a workstation.
  461.  
  462. GrxNetWkstaSetUID2            Logs a user on/off a domain.
  463.  
  464.  
  465.  
  466.  
  467. ****************************   GRXNETB (NetBIOS)   ********************************* 
  468.  
  469. The GRXNETB.DLL provides the REXX programmer with an interface to NetBIOS.
  470.  
  471.  
  472. Add_Group_Name (Service 0x36)    Adds a non-unique group name to the 
  473.                     adapter's NetBIOS name table.
  474.  
  475. Add_Name (Service 0x30)        Adds a NetBIOS name to the adapter's 
  476.                     NetBIOS name table.
  477.  
  478. Call (Service 0x10)            Opens a session between the remote 
  479.                     name.
  480.  
  481. Chain_Send (Service 0x17)        Sends data on the specified session lsn.
  482.  
  483. Chain_Send_No_Ack (Service 0x72)    Sends data on the specified session lsn 
  484.                     without waiting for an acknowlegement.
  485.  
  486. Delete_Name (Service 0x31)        Deletes a name from the adapter's  
  487.                     NetBIOS name table.
  488.  
  489. Hangup (Service 0x12)            Releases a session.
  490.  
  491. Listen (Service 0x11)            Establishes a session with the name 
  492.                     specified in the callname argument.
  493.  
  494. Receive (Service 0x15)            Receive data from the specified local 
  495.                     session number.
  496.  
  497. Receive_Any (Service 0x16)        Receive data from any specified local 
  498.                     session number.
  499.  
  500. Receive_Broadcast_Datagram (Service 0x23)        
  501.                     Receive a broadcast datagram packet  
  502.                     using the specified NetBIOS name field.
  503.  
  504. Receive_Datagram (Service 0x21)    Receive a datagram packet using the 
  505.                     specified NetBIOS name field.
  506.  
  507. Reset_Release (Service 0x32)        Resets the specified adapter by releasing 
  508.                     the specified resources from the NetBIOS 
  509.                     name table.
  510.  
  511. Reset_Request (Service 0x32)        Resets the specified adapter by requesting 
  512.                     the specified resources from the NetBIOS 
  513.                     name table.
  514.  
  515. Send (Service 0x14)            Sends data using a specified local session 
  516.                     number.
  517.  
  518. Send_No_Ack (Service 0x71)        Sends data using a specified local session 
  519.                     number without waiting for an 
  520.                     acknowledgement.
  521.  
  522. Send_Broadcast_Datagram (Service 0x22)    
  523.                     Sends a broadcast datagram using the
  524.                     name specified.
  525.  
  526. Send_Datagram (Service 0x20)        Sends a datagram using the name to the 
  527.                     specified remote name.
  528.  
  529.  
  530.  
  531. ******************************   GRXTCPIP (TCP/IP)   ******************************** 
  532.  
  533. The GRXTCPIP.DLL provides the REXX programmer with an interface to the 
  534. Sockets and FTP APIs in IBM TCP/IP version 2.0.
  535.  
  536.  
  537. FTP (File Transfer Protocol) Functions
  538.  
  539. These functions provide the programmer with a direct interface to the File
  540. Transfer Protocol (FTP) application programming interfaces.
  541.  
  542. GrxFtpAppend                This function appends information to a file 
  543.                     on a remote host.
  544.  
  545. GrxFtpCd                This function changes the current working 
  546.                     directory on a remote host.
  547.  
  548. GrxFtpDelete                This function deletes a file on a remote 
  549.                     host.
  550.  
  551. GrxFtpDir                This function gets a host directory listing 
  552.                     in wide format from a remote host.
  553.  
  554. GrxFtpGet                This function gets a file from a remote 
  555.                     host.
  556.  
  557. GrxFtpLogoff                This function logs off all current host 
  558.                     connections.
  559.  
  560. GrxFtpLs                This function gets a host directory listing 
  561.                     in short format from a remote host.
  562.  
  563. GrxFtpMkd                This function makes a directory on a 
  564.                     remote host.
  565.  
  566. GrxFtpPing                This function resolves a host name and 
  567.                     sends a ping to the remote host to 
  568.                     determine if that host is responding.
  569.  
  570. GrxFtpProxy                This function gets a file from a remote 
  571.                     host.
  572.  
  573. GrxFtpPut                This function puts a file to a remote host.
  574.  
  575. GrxFtpPutunique            This function puts a file to a remote host 
  576.                     and ensures that it has a unique name 
  577.                     (i.e. it will not overwrite an existing file).
  578.  
  579. GrxFtpPwd                This function gets the description of the 
  580.                     remote FTP host and returns in in a REXX 
  581.                     variable.
  582.  
  583. GrxFtpQuote                This function sends a string to the remote 
  584.                     host verbatim.
  585.  
  586. GrxFtpRename                This function renames a file on a remote 
  587.                     host.
  588.  
  589. GrxFtpRmd                This function removes a directory on a 
  590.                     remote host.
  591.  
  592. GrxFtpSite                This function removes a directory on a 
  593.                     remote host.
  594.  
  595. GrxFtpSys                This function gets the description of the 
  596.                     operating system on the remote host.
  597.  
  598.  
  599. Miscellaneous Functions
  600.  
  601. GrxTCPIPDropFuncs            Drops all of the functions in the 
  602.                     GRXTCPIP.DLL from REXX.
  603.  
  604. GrxTCPIPLoadFuncs            Registers all of the functions in the 
  605.                     GRXTCPIP.DLL package to REXX.
  606.  
  607. GrxTCPIPVersion            Returns the version of the GRXTCPIP.DLL 
  608.                     which is currently running.
  609.  
  610. GrxTcpPing                This function resolves a host name and 
  611.                     sends a ping to the remote host to 
  612.                     determine if that host is responding.
  613.  
  614.  
  615. Socket Functions
  616.  
  617. GrxSockAccept                Accepts a TCP connection request from a 
  618.                     remote host.
  619.  
  620. GrxSockBind                Binds a local name to a socket.
  621.  
  622. GrxSockClose                Shuts down (closes) a socket.
  623.  
  624. GrxSockConnect            Requests a connection to a remote host.
  625.  
  626. GrxSockErrno                Returns the last error code set by a 
  627.                     socket function.
  628.  
  629. GrxSockGethostbyaddr            Returns information about a host specified 
  630.                     by an internet address.
  631.  
  632. GrxSockGethostbyname            Returns information about a host specified 
  633.                     by a host name.
  634.  
  635. GrxSockGethostid            Returns the unique identifier of the current 
  636.                     host.
  637.  
  638. GrxSockGetpeername            Returns the name of the peer connected 
  639.                     to a socket.
  640.  
  641. GrxSockGetsockname            Returns the local socket name.
  642.  
  643. GrxSockGetsockopt            Returns an option associated with a 
  644.                     socket.
  645.  
  646. GrxSockIoctl                Performs special operations on a socket.
  647.  
  648. GrxSockListen                Bind a socket to an incomming connection 
  649.                     request.
  650.  
  651. GrxSockRecv                Receive data on a connected socket.
  652.  
  653. GrxSockSelectNoexecpt            Monitors the exception status on a socket.
  654.  
  655. GrxSockSelectRead            Monitors the read status on a socket.
  656.  
  657. GrxSockSelectWrite            Monitors the write status on a socket.
  658.  
  659. GrxSockSend                Send data on a connected socket.
  660.  
  661. GrxSockSetsockopt            Set an option associated with a socket.
  662.  
  663. GrxSockShutdown            Shuts down all or part of a duplex 
  664.                     connection.
  665.  
  666. GrxSockSocket                Creates a socket (an endpoint) for 
  667.                     communications.
  668.  
  669.  
  670.  
  671. ********************   GRXUPM (User Profile Management)   ************************
  672.  
  673. The GRXUPM.DLL provides the REXX programmer with an interface to User Profile 
  674. Management functions.
  675.  
  676. GrxUPMDropFuncs            Drops all of the functions in the 
  677.                     GRXUPM.DLL from REXX.
  678.  
  679. GrxUPMEGETP                Returns a user ID's profile.
  680.  
  681. GrxUPMELGFF                Logs off a local or remote user ID.
  682.  
  683. GrxUPMELGN                Logon a user for the current process.
  684.  
  685. GrxUPMELOCL                Logon a user locally.
  686.  
  687. GrxUPMELOCU                Returns the user ID and type of the 
  688.                     current locally logged on user.
  689.  
  690. GrxUPMEULGF                Logs off a local or remote user ID.
  691.  
  692. GrxUPMEULGN                Logon a user to a local or remote 
  693.                     workstation.
  694.  
  695. GrxUPMEUSRL                Returns the list of logged on users at a 
  696.                     local or remote node.
  697.  
  698. GrxUPMLoadFuncs            Registers all of the functions in the 
  699.                     GRXUPM.DLL package
  700.  
  701. GrxUPMVersion                Returns the version of the GRXUPM.DLL 
  702.                     which is currently running.
  703.  
  704.  
  705.  
  706. ************************   GRXUTILS (General OS/2 Utilities) **************************
  707.  
  708. The GRXUTILS.DLL provides the REXX programmer with an interface to many 
  709. low-level and high-level functions for the OS/2 environment. Functions are
  710. provided for semaphores, file manipulation, advanced math functionality, etc.
  711.  
  712.  
  713. Date Manipulation Functions   
  714.  
  715. These functions manipulate standard REXX dates.
  716.  
  717. GrxBaseToDate                Converts a string containing a standard 
  718.                     REXX basedate data type.
  719.  
  720. GrxDateToBase                Converts a string containing a formated 
  721.                     date to the standard REXX basedate data 
  722.                     type.
  723.  
  724.  
  725. File and System Functions
  726.  
  727. These functions operate on the OS/2 file system or retrieve system information.
  728.  
  729. GrxAttrib                Changes the attributes of the spesified 
  730.                     file(s).
  731.  
  732. GrxCopyFile                Copy OS/2 file(s).
  733.  
  734. GrxDumpVarPool            Dumps the current contents of the REXX 
  735.                     variable pool to a file.
  736.  
  737. GrxEditName                This function constructs a new file name 
  738.                     from an input file name and a pattern.
  739.                     The pattern uses standard OS/2 file name 
  740.                     characters and the standard wildcard 
  741.                     characters to produce a new file name.
  742.  
  743. GrxMoveFile                Move/rename specified file(s) or 
  744.                     directory(s) which could include wildcards.
  745.  
  746. GrxQueryAppType            Queries the application type of an 
  747.                     executable file.
  748.  
  749. GrxQueryBootDrive            Returns the current drive.
  750.  
  751. GrxQueryComPorts            Returns the number of RS232 Com ports 
  752.                     attached to the system.
  753.  
  754. GrxQueryCoprocessor            Queries for the existence of a math 
  755.                     coprocessor.
  756.  
  757. GrxQueryDisplayAdapter        Queries for the existence of a color adapter.
  758.  
  759. GrxQueryFloppyDrives            Returns the number of floppy drives 
  760.                     installed in the system.
  761.  
  762. GrxQueryFSAttach            Returns the file system type for the 
  763.                     specified drive.
  764.  
  765. GrxQueryMaxPath            Returns the length of the maximum 
  766.                     acceptable fully qualified path.
  767.  
  768. GrxQueryModel                Returns the system Model type.
  769.  
  770. GrxQueryPrinters            Returns the number of parallel printer 
  771.                     ports in the system.
  772.  
  773. GrxQueryRAM                Returns the approximate amount of (RAM) 
  774.                     available.
  775.  
  776. GrxQuerySubmodel            Returns the system Submodel type.
  777.  
  778. GrxReadToStem                Reads a specified file into a stem variable. 
  779.                     The maximum input line
  780.  
  781. GrxShutdown                Call the system shutdown API.
  782.  
  783. GrxWriteFromStem            Writes a specified file stem variable array to 
  784.                     a specified file.
  785.  
  786.  
  787. Math Functions
  788.  
  789. These functions extend the ability of REXX to perform math functions and 
  790. calculations.  Functions in this group derive from IBM C Set++ functions and do 
  791. not return results with the number of digits specified by the current REXX 
  792. NUMERIC instruction setting.
  793.  
  794. GrxAcos                Returns the arc cosine of the input angle 
  795.                     (in radians).
  796.  
  797. GrxAsin                    Returns the arc sine of the input angle (in 
  798.                     radians).
  799.  
  800. GrxAtan                    Returns the arc tangent of the input angle (in 
  801.                     radians).
  802.  
  803. GrxCeil                    Returns the smallest integer >= to the 
  804.                     input number.
  805.  
  806. GrxCos                    Returns the cosine of the input angle (in 
  807.                     radians).
  808.  
  809. GrxCosh                Returns the hyperbolic cosine of the input 
  810.                     angle (in radians).
  811.  
  812. GrxExp                    Returns the exponential function of 
  813.                     e**input_num, where e equals 
  814.                     2.17128128... .
  815.  
  816. GrxFloor                Returns the largest integer <= to the input 
  817.                     number.
  818.  
  819. GrxGamma                Returns the gamma value of the input 
  820.                     number.  Gamma is defined as the 
  821.                     function: ln ( |G(x)| )
  822.  
  823. GrxHypot                Returns the hypotenuse of the right 
  824.                     triangle described by side1 and side2.
  825.  
  826. GrxLog                    Returns the natural logarithm (base e) of 
  827.                     the input number.
  828.  
  829. GrxLog10                Returns the base 10 logarithm of the input 
  830.                     number.
  831.  
  832. GrxLONGToStr                Returns the string equivilent of the input 4 
  833.                     byte binary value.
  834.  
  835. GrxSHORTToStr                Returns the string equivilent of the input 2 
  836.                     byte binary value.
  837.  
  838. GrxSin                    Returns the sine of the input angle (in 
  839.                     radians).
  840.  
  841. GrxSinh                    Returns the hyperbolic sine of the input 
  842.                     angle (in radians).
  843.  
  844. GrxSqrt                    Returns the hyperbolic sine of the input 
  845.                     angle (in radians).
  846.  
  847. GrxStrToLONG                Returns the 4 byte binary value in 
  848.                     standard Intel byte-reversed format 
  849.                     equivilent of the input string.
  850.  
  851. GrxStrToSHORT                Returns the 2 byte binary value in 
  852.                     standard Intel byte-reversed format 
  853.                     equivilent of the input string.
  854.  
  855. GrxTan                    Returns the tangent of the input angle (in 
  856.                     radians).
  857.  
  858. GrxTanh                Returns the hyperbolic tangent of the 
  859.                     input angle (in radians).
  860.  
  861.  
  862. Miscellaneous Functions
  863.  
  864. GrxDropFuncs                Drops all of the functions in the 
  865.                     GRXUTILS.DLL from REXX. After this 
  866.                     call all of GRXUTILS's functions will 
  867.                     become unknown to the interpreter, 
  868.                     including this function.
  869.  
  870. GrxLoadFuncs                Registers all of the functions in the 
  871.                     GRXUTILS.DLL package to REXX.
  872.  
  873. GrxUtilsVersion                Returns the version of the GRXUTILS.DLL 
  874.                     which is currently running.
  875.  
  876.  
  877. Named Pipe Functions
  878.  
  879. These functions extend the ability of REXX to perform named pipe functions as 
  880. both a client and a server.
  881.  
  882. GrxClientCloseNPipe            This function is used by named pipe clients 
  883.                     to close their end of a named pipe.
  884.  
  885. GrxClientOpenNPipe            This function is used by named pipe clients 
  886.                     to open their end of a named pipe. The 
  887.                     pipe is always opened as a message pipe.
  888.  
  889. GrxReadNPipe                This function is used by named pipe clients 
  890.                     and servers to read a message from their end 
  891.                     of a named pipe.
  892.  
  893. GrxSrvrConnectNPipe            This function is used by a named pipe 
  894.                     server process to connect to a named 
  895.                     pipe supplied from the server thread.
  896.  
  897. GrxSrvrCreateNPipeThrd            This function creates a named pipe server 
  898.                     thread which will queue instances of the 
  899.                     specified named pipe for use by the main 
  900.                     REXX thread. 
  901.  
  902. GrxSrvrDestroyNPipeThrd        This function is used by the server 
  903.                     process to destroy its server thread 
  904.                     instance. 
  905.  
  906. GrxSrvrDisconnectNPipe            This function is used by the named pipe 
  907.                     server process to close and disconnect 
  908.                     from a named pipe instance.
  909.  
  910. GrxWriteNPipe                This function is used by named pipe 
  911.                     servers and clients to write messages to 
  912.                     their end of a named pipe.
  913.  
  914.  
  915. Process Functions
  916.  
  917. GrxGetPID                Return a process ID.
  918.  
  919. GrxKillProcess                Destroys a process.
  920.  
  921. GrxKillThread                Destroy a thread.
  922.  
  923. GrxEnumEnvVars            Enumerate all of the current system 
  924.                     environment variables.
  925.  
  926. GrxStartRexxThread            Start another REXX thread of execution.
  927.  
  928.  
  929.  
  930. REXX Macrospace Manipulation Functions
  931.  
  932. These functions manipulate the REXX macrospace
  933.  
  934. GrxMacroDrop                Drops the specified function from the 
  935.                     REXX Macrospace.
  936.  
  937. GrxMacroErase                Drops all functions unconditionally from 
  938.                     THE REXX Macrospace.
  939.  
  940. GrxMacroLoad                Loads either a REXX Macro Library or a 
  941.                     REXX Function to the REXX Macrospace. 
  942.  
  943. GrxMacroQuery                Queries the REXX Macrospace for the 
  944.                     existence of a function.
  945.  
  946. GrxMacroReOrder            Adjusts the search order position of the 
  947.                     specified function in the REXX 
  948.                     Macrospace.
  949.  
  950. GrxMacroSave                Saves the entire REXX Macrospace to the 
  951.                     specified filename.
  952.  
  953. Semaphore Functions
  954.  
  955. These functions manipulate OS/2 Semaphores
  956.  
  957. GrxAddMuxWaitSem            Adds a new semaphore to the existing 
  958.                     muxwait semaphore list.
  959.  
  960. GrxCloseEventSem            Closes an event semaphore.
  961.  
  962. GrxCloseMutexSem            Closes a mutex semaphore.
  963.  
  964. GrxCloseMuxWaitSem            Closes a muxwait semaphore.
  965.  
  966. GrxCreateEventSem            Creates an event semaphore.
  967.  
  968. GrxCreateMutexSem            Creates a mutex semaphore.
  969.  
  970. GrxCreateMuxWaitSem            Creates a muxwait semaphore.
  971.  
  972. GrxDeleteMuxWaitSem            Deletes a semaphore from a muxwait 
  973.                     semaphore list.
  974.  
  975. GrxOpenEventSem            Opens an existing event semaphore.
  976.  
  977. GrxOpenMutexSem            Opens an existing mutex semaphore.
  978.  
  979. GrxOpenMuxWaitSem            Opens an existing mutex semaphore.
  980.  
  981. GrxPostEventSem            Posts an event semaphore.
  982.  
  983. GrxQueryEventSem            Queries the post count of an event 
  984.                     semaphore.
  985.  
  986. GrxQueryMutexSem            Queries a mutex semaphore.
  987.  
  988. GrxQueryMuxWaitSem            Queries a muxwait semaphore.
  989.  
  990. GrxReleaseMutexSem            Releases a mutex semaphore.
  991.  
  992. GrxRequestMutexSem            Requests ownership of an mutex 
  993.                     semaphore.
  994.  
  995. GrxResetEventSem            Resets the post count of an event 
  996.                     semaphore to zero and returns the old 
  997.                     post count.
  998.  
  999. GrxWaitEventSem            Waits for the event semaphore to be 
  1000.                     posted.
  1001.  
  1002. GrxWaitMuxWaitSem            Waits for the muxwait semaphore to 
  1003.                     become available.
  1004.  
  1005.  
  1006.  
  1007. VIO Interface Functions
  1008.  
  1009. These functions call OS/2 system VIO functions to manipulate text screens and 
  1010. windows.
  1011.  
  1012. GrxGetAnsi                Obtains the current state of the ANSI flag.
  1013.  
  1014. GrxGetCurPos                Obtains the current cursor position.
  1015.  
  1016. GrxGetCurType                Queries the cursor type.
  1017.     
  1018. GrxGetMode                Obtains the current screen mode.
  1019.  
  1020. GrxPrtSc                Copies the contents of the screen to the 
  1021.                     printer.
  1022.  
  1023. GrxReadCellStr                Copies a character-attribute string from
  1024.                     the screen from the specified position.
  1025.  
  1026. GrxReadCharStr                Copies a string (but not its attribute bytes) 
  1027.                     from the screen from the specified 
  1028.                     position.
  1029.  
  1030. GrxScrollDn                Scrolls the designated area of the screen 
  1031.                     downward the specified number of lines.
  1032.  
  1033. GrxScrollLf                Scrolls the designated area of the screen 
  1034.                     leftward the specified number of 
  1035.                     characters.
  1036.  
  1037. GrxScrollRt                Scrolls the designated area of the screen 
  1038.                     rightward the specified number of 
  1039.                     characters.
  1040.  
  1041. GrxScrollUp                Scrolls the designated area of the screen 
  1042.                     upward the specified number of lines.
  1043.  
  1044. GrxSetAnsi                Sets the state of the ANSI flag.
  1045.  
  1046. GrxSetCurPos                Sets the current cursor position 
  1047.                     at the specified position.
  1048.  
  1049. GrxSetCurType                Sets the current cursor type.
  1050.  
  1051. GrxSetMode                Sets the screen mode.
  1052.  
  1053. GrxWrtCellStr                Write a character-attribute string to the 
  1054.                     screen at the specified position.
  1055.  
  1056. GrxWrtCharStr                Write a character string to the screen at  
  1057.                     the specified position utilizing the current 
  1058.                     screen attributes.
  1059.  
  1060. GrxWrtCharStrAtt            Write a character string to the screen at  
  1061.                     the specified position utilizing the 
  1062.                     specified attribute.
  1063.  
  1064. GrxWrtNAttr                Writes an attribute the specified number 
  1065.                     of times to the specified screen position.
  1066.  
  1067. GrxWrtNCell                Write a character-attribute pair to the 
  1068.                     screen the specified number of times 
  1069.                     starting at the specified position.
  1070.  
  1071. GrxWrtNChar                Write a character to the screen the 
  1072.                     specified number of times starting at the 
  1073.                     specified position utilizing the current 
  1074.                     screen attributes.
  1075.  
  1076. GrxWrtTTY                Write a character string to the screen 
  1077.                     starting at the current cursor position.
  1078.  
  1079.