wiki:Documentation/ARexxAPI

Version 16 (modified by Jens Maus, 4 years ago) (diff)

Languages:

ARexx Function List

  1. Documentation/ARexxAPI/ADDRDELETE
  2. Documentation/ARexxAPI/ADDREDIT
  3. Documentation/ARexxAPI/ADDRFIND
  4. Documentation/ARexxAPI/ADDRGOTO
  5. Documentation/ARexxAPI/ADDRINFO
  6. Documentation/ARexxAPI/ADDRLOAD
  7. Documentation/ARexxAPI/ADDRNEW
  8. Documentation/ARexxAPI/ADDRRESOLVE
  9. Documentation/ARexxAPI/ADDRSAVE
  10. Documentation/ARexxAPI/APPBUSY
  11. Documentation/ARexxAPI/APPNOBUSY
  12. Documentation/ARexxAPI/FINDMAIL
  13. Documentation/ARexxAPI/FLUSHINDEXES
  14. Documentation/ARexxAPI/FOLDERINFO
  15. Documentation/ARexxAPI/GETCONFIGINFO
  16. Documentation/ARexxAPI/GETFOLDERINFO
  17. Documentation/ARexxAPI/GETMAILINFO
  18. Documentation/ARexxAPI/GETSELECTED
  19. Documentation/ARexxAPI/GETURL
  20. Documentation/ARexxAPI/HELP
  21. Documentation/ARexxAPI/HIDE
  22. Documentation/ARexxAPI/INFO
  23. Documentation/ARexxAPI/ISONLINE
  24. Documentation/ARexxAPI/LISTFREEZE
  25. Documentation/ARexxAPI/LISTSELECT
  26. Documentation/ARexxAPI/LISTUNFREEZE
  27. Documentation/ARexxAPI/MAILARCHIVE
  28. Documentation/ARexxAPI/MAILBOUNCE
  29. Documentation/ARexxAPI/MAILCHANGESUBJECT
  30. Documentation/ARexxAPI/MAILCHECK
  31. Documentation/ARexxAPI/MAILCOPY
  32. Documentation/ARexxAPI/MAILDELETE
  33. Documentation/ARexxAPI/MAILEDIT
  34. Documentation/ARexxAPI/MAILEXPORT
  35. Documentation/ARexxAPI/MAILFILTER
  36. Documentation/ARexxAPI/MAILFORWARD
  37. Documentation/ARexxAPI/MAILIMPORT
  38. Documentation/ARexxAPI/MAILINFO
  39. Documentation/ARexxAPI/MAILMOVE
  40. Documentation/ARexxAPI/MAILREAD
  41. Documentation/ARexxAPI/MAILREPLY
  42. Documentation/ARexxAPI/MAILSEND
  43. Documentation/ARexxAPI/MAILSENDALL
  44. Documentation/ARexxAPI/MAILSTATUS
  45. Documentation/ARexxAPI/MAILUPDATE
  46. Documentation/ARexxAPI/MAILWRITE
  47. Documentation/ARexxAPI/NEWMAILFILE
  48. Documentation/ARexxAPI/QUIT
  49. Documentation/ARexxAPI/READCLOSE
  50. Documentation/ARexxAPI/READINFO
  51. Documentation/ARexxAPI/READPRINT
  52. Documentation/ARexxAPI/READSAVE
  53. Documentation/ARexxAPI/REQUEST
  54. Documentation/ARexxAPI/REQUESTFILE
  55. Documentation/ARexxAPI/REQUESTFOLDER
  56. Documentation/ARexxAPI/REQUESTSTRING
  57. Documentation/ARexxAPI/RESTART
  58. Documentation/ARexxAPI/SCREENTOBACK
  59. Documentation/ARexxAPI/SCREENTOFRONT
  60. Documentation/ARexxAPI/SETFLAG
  61. Documentation/ARexxAPI/SETFOLDER
  62. Documentation/ARexxAPI/SETMAIL
  63. Documentation/ARexxAPI/SETMAILFILE
  64. Documentation/ARexxAPI/SHOW
  65. Documentation/ARexxAPI/USERINFO
  66. Documentation/ARexxAPI/WRITEATTACH
  67. Documentation/ARexxAPI/WRITEBCC
  68. Documentation/ARexxAPI/WRITECC
  69. Documentation/ARexxAPI/WRITEEDITOR
  70. Documentation/ARexxAPI/WRITEFROM
  71. Documentation/ARexxAPI/WRITEIDENTITY
  72. Documentation/ARexxAPI/WRITELETTER
  73. Documentation/ARexxAPI/WRITEMAILTO
  74. Documentation/ARexxAPI/WRITEOPTIONS
  75. Documentation/ARexxAPI/WRITEQUEUE
  76. Documentation/ARexxAPI/WRITEREPLYTO
  77. Documentation/ARexxAPI/WRITESEND
  78. Documentation/ARexxAPI/WRITESUBJECT
  79. Documentation/ARexxAPI/WRITETO

Reference - ARexx interface

With the help of ARexx scripts, you can add new functions to YAM or let it do things automatically.
YAM offers a set of commands (listed in this documentation both by name ? and by function ?) which can be called through the YAM ARexx port. They are explained along the following subchapters using the following format:

NAME
The name of the command, a short description of what it does and the YAM version where the command was implemented.
TEMPLATE
Arguments and options accepted by the command. The template uses special characters that indicate the particular type of argument expected, following the AmigaDOS template style:

/A The parameter is compulsory
/K The parameter must be preceeded by the keyword
/N Numerical argument or result
/M Argument or result is a list of zero or more elements
/S The parameter works as a switch; the switch is in use when the parameter is given

FUNCTION
Describes what the command will do.
INPUTS
Describes in detail the parameters accepted by the command. Be careful when passing arguments containing spaces; for instance,
sub = 'Hello World'
'WRITESUBJECT' sub

won't work. It must be written as

'WRITESUBJECT "'sub'"'

or

'WRITESUBJECT "Hello World"'

Please note that because of the internal use of the ReadArgs() function, the ARexx Host requires to escape certain special characters like a newline (0x0a) or escape character (0x1b) if you want to have it included in your final string or otherwise it is stripped by the ReadArgs() function.

This means that you have to use the following escape sequences in your provided strings:

*N substitutes to 0x0a (newline \n)
*E substitutes to 0x1b (escape)
!** substitutes to *
* substitutes to "

For example the following command would write a string to a texteditor containing a newline:

 'WRITEEDITOR "TEXT Hello Joe,*N I would like to meet you."'

If a parameter represents a file name you should keep in mind that file names on AmigaOS might contain spaces or other special characters which will cause ARexx to treat the name as multiple words instead of a single word. Hence a file name should always be surrounded by quotes, no matter if it contains spaces or not. Scripts can very easily be tested for this case by letting them handle a file in the Amiga RAM disk, i.e. "RAM Disk:/foo/bar".

RETURNS
Returned info to be expected from the command. Commands may return results in three different kinds; let's look at these examples which use the FOLDERINFO command:
FOLDERINFO
-> RESULT = "0 Incoming incoming 10 2 4 23030 1"
FOLDERINFO VAR fi
-> fi = "0 Incoming incoming 10 2 4 23030 1"
FOLDERINFO STEM fi.
-> fi.number = 0
     fi.name = "Incoming"
     fi.path = "incoming"
     fi.total = 10
     fi.new = 2
     fi.unread = 4
     fi.size = 23030
     fi.type = 1

Another example which returns a result of type /M:

ADDRFIND STEM found. "Marcel Beck" NAMEONLY
 -> found.alias.count = 2
      found.alias.0 = "Mars"
      found.alias.1 = "mbe"
WARNING
Any sort of vital information you should be aware of when using this command.
NOTES
Various notes about the command.
EXAMPLE
A fragment of ARexx code to illustrate the usage of the command.
BUGS
Problems that are known or have already been fixed with this command.
SEE ALSO
Links to other related commands.