-
Notifications
You must be signed in to change notification settings - Fork 6
Host Addresses
AmiExpress allows the use of external HOST Addresses to start Modules, which can be executed by the user by a specified key. These host addresses can be used by programmers to code Modules working with AmiExpress. These HOST Addresses can be used in many programming languages (AREXX,C,ASSEMBLER Aso.). To give the programmer more abilities, AmiExpress provides many COMMANDS via the HOST Address to get and put Information to the running AmiExpress nodes. These commands are shared in different areas.
The Arexx door interface requires a file called REXXDOOR, It must be located in your UTILS: path. This will also require an icon to run the door(s) in your BBSCmd or CONF{x} and to be located in the BBS:Commands directory. REXXDOOR will be launched each time an Arexx door is requested. Arexx must also be set up on your amiga system correctly to work with /X. First you must have all the necessary Arexx files installed, EXAMPLE in your DH0:Rexxc dir. Then in your startup-sequence make sure this line exists:
Assign >NIL: REXX: SYS:REXXC
Next, (I put mine in the user-startup) add these lines:
Rpstart >Nil:
Your system is now Arexx ready.
NOTE: If a CARRIER LOSS is detected or a keyboard TIMEOUT is detect then an error code of 10 will be sent to the Arexx Script and REXXDOOR will orderly close any ports to the BBS and itself from the Arexx Script.
Now we want to discuss all the Arexx Commands which can be used to read & write information of the User & the BBS. These Arexx commands are only useful if you want to program some tools for AmiExpress, and for that it is very hard to understand for a guy who never programmed Arexx. But now lets go on:
NOTE: These are internal and do not pertain to the Module Glue routines for designing doors.
To register an AREXX Module to AmiExpress you must have the following lines at first at your AREXX Modules:
/* Arexx Module TEST */
parse arg NODE
options results
address value "AERexxControl"NODE
Without this Command at the first lines in your modules, the modules will not work together with AmiExpress, so be sure you have these Command at the beginning of each AIM Module.
The following Commands are AmiExpress Arexx HOST Commands which are used to give the ability to the programmer to design his modules. To use this Command the Initializing of AmiExpress Module must be made as listed above.
COMMAND NAME | FUNCTION |
---|---|
GETUSER | This command will read DATA from the FUNCTION of the decimal HOST Commands. This DATA will be transferred to the normal RESULT function of AREXX. With this command you are able to get the BBSNAME or other things. For more Information about the FUNCTION numbers, please look at the 'Standard HOST Commands' of Express. |
PUTUSER | This command is exactly the same as the GETUSER command with the difference that it will store DATA and not read it from the FUNCTION . To store the DATA to a FUNCTION you also need the PUTUSTR together with PUTUSER because PUTUSER must know what to store into the FUNCTION . |
PUTUSTR | This Arexx command will define the DATA depending to the PUTUSER command for the HOST commands of AmiExpress Use these TWO Arexx HOST Commands together to execute Commands which belongs to Express. example: PUTUSTR "g" <- the variable you want to put into the PUTUSER 136 <- FUNCTION 136. These two commands together will execute the internal GOOD-BYE Main Menu Command and will leave the BBS. The '136' depending on the other HOST COMMANDS programmed with decimal Codes. |
TRANSMIT "" | This command is the most important HOST Command of the AREXX HOST Commands of AmiExpress. This command will send text over the serial depending in "" to the NODE Window the module was executed. example: TRANSMIT "HELLO" Now HELLO should appear in the NODE Window the Module was executed. |
SENDMESSAGE | This Command is exactly the same as the TRANSMIT command with the only difference that it will not send an carriage return after executing the command, so you can store text behind other text. |
GETCHAR | This Command will wait for input from the User to insert and this input will be later transferred to the RESULT Command of normal AREXX. With this command you are able to ask the user questions and transfer the answer to different variables. |
PROMPT "" | This Command is the mix of the TRANSMIT & GETCHAR commands. After displaying the TEXT in the "" it will PROMPT the user to insert something until he pressed return. Then the DATA will go to the normal RESULT routine of AREXX. |
The following list is a list of all AmiExpress HOST Commands which can be used in every program language to get/store information to the AmiExpress Host Port. With this Command you can get Information like BBSNAME, USERNAME etc.
JH_LI Requests a string of information from the user with a default string.
msg->Command = 0
msg->String = default result string
msg->Data = Maximum length of response.
msg->Data will be set to a -1 if a loss carrier or console
TIMEOUT occurs, otherwise MSG->Data will be 1
msg->String will be the response string from the user.
(FUNCTION #: 0 )
JH_REGISTER Registers a door or XIM with the current node.
msg->Command = 1
This must be the first command issued to the express node.
This increments the number of doors active for the current
node.
(FUNCTION #: 1 )
JH_SHUTDOWN Tells the node that a door is shutting down, this decreases the number of active doors indicator , which once at 0, the AEDoorPort will close.
msg->Command = 2
msg->Data = N/A
(FUNCTION #: 2 )
JH_WRITE Allows you to send a text string to the user.
msg->Command = 3
msg->String = text
msg->Data = N/A
(FUNCTION #: 3 )
JH_SM Allows you to send a text string to the user.
msg->Command = 4
msg->String = text
msg->Data = 1 or 0
if msg->Data = 1, then a CR/LF combination will be sent.
(FUNCTION #: 4 )
JH_PM Allows you to prompt the user for a specified number of characters.
msg->Command = 5
msg->String = prompt string
msg->Data = maximum response length.
if msg->Data = -1, then a loss carrier has occurred or a
TIMEOUT condition has occurred, otherwise msg->Data = 1.
msg->String will be the user response.
(FUNCTION #: 5 )
JH_HK Allows you to get a 1 character response from the user.
msg->Command = 6
msg->String = text
msg->Data = N/A
if msg->Data = -1, then a loss carrier has occurred or a
TIMEOUT condition has occurred, otherwise msg->Data = 1.
msg->String will be the result string.
(FUNCTION #: 6 )
JH_SG Allows you to display a text file to the user.
msg->Command = 7
msg->String = part file name.
msg->Data = N/A
ie:
msg->String = "BBS:Node1/Bull
This would try to display BBS:Node1/BULL.TXT
also takes into account language specifications.
This also searches for the access level patterns, ie:
Bull10.TXT, Bull100.TXT
(FUNCTION #: 7 )
JH_SF Allows you to display a text file to the user.
msg->Command = 8
msg->String = Complete pathname
msg->Data = N/A
ie:
msg->String = "BBS:Node1/BULL.TXT"
This would show the file if it exists.
(FUNCTION #: 8 )
JH_EF Allows you to use the internal msgbase editor to edit your own files.
msg->Command = 9
msg->String = Complete pathname
msg->Data = 0
if msg->Data = -1, then a loss carrier has occurred or a
TIMEOUT has occurred, otherwise msg->Data will be 1.
(FUNCTION #: 9 )
JH_CO Allows you to send text string to the console only.
msg->Command = 10
msg->String = text
msg->Data = 1 or 0
if msg->Data = 1, then a CR/LF combination will be sent in
addition to the text.
(FUNCTION #: 10 )
JH_BBSNAME Allows you to retrieve the BBS Name.
msg->Command = 11
msg->Data = N/A
msg->String will be the BBS name.
(FUNCTION #: 11 )
JH_SYSOP Allows you to retrieve the Sysop's Name.
msg->Command = 12
msg->Data = N/A
msg->String will be the Sysop name.
(FUNCTION #: 12 )
JH_FLAGFILE Allows you to add files to the list of flagged files.
msg->Command = 13
msg->String = FileName
msg->Data = N/A
Adds the msg->String to the list of flagged files for
downloading purposes,
NOTE: The files must be in the download path for this to
work.
(FUNCTION #: 13 )
DT_NAME Allows you to retrieve or change users name/handle
msg->Command = 100
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be the name.
if msg->Data = 0, then name will be msg->String
(FUNCTION #: 100 )
DT_PASSWORD Allows you to retrieve or change users password
msg->Command = 101
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be the password.
if msg->Data = 0, then the password will be msg->String.
(FUNCTION #: 101 )
DT_LOCATION Allows you to retrieve or change users location
msg->Command = 102
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be the location
if msg->Data = 0, then the location will be msg->String
(FUNCTION #: 102 )
DT_PHONENUMBER Allows you to retrieve or change users phone number.
msg->Command = 103
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be the phonenumber
if msg->Data = 0, ten phonenumber will be msg->String
(FUNCTION #: 103 )
DT_SLOTNUMBER Allows you to retrieve users slot number
msg->Command = 104
msg->Data = 1
if msg->Data = 1, then msg->String will be the SLOTNUMBER.
(FUNCTION #: 104 )
DT_ACCESSLEVEL Allows you to retrieve or change users access level.
msg->Command = 105
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be ACCESSLEVEL.
if msg->Data = 0, then ACCESSLEVEL will be msg->String.
(FUNCTION #: 105 )
DT_RATIOTYPE Allows you to retrieve or change users RatioType
msg->Command = 106
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be RatioType.
if msg->Data = 0, then RatioType will be msg->String.
(FUNCTION #: 106 )
DT_RATIO Allows you to retrieve or change users ratio
msg->Command = 107
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be ratio.
if msg->Data = 0, then ratio will be msg->String.
(FUNCTION #: 107 )
DT_COMPTYPE Allows you to retrieve or change users ComputerTypes code
msg->Command = 108
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be ComputerTypes.
if msg->Data = 0, then ComputerTypes will be msg->String.
(FUNCTION #: 108 )
DT_MESSAGESPOSTED Allows you to retrieve or change users MESSAGESPOSTED
msg->Command = 109
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be MESSAGESPOSTED.
if msg->Data = 0, then MESSAGESPOSTED will be msg->String.
(FUNCTION #: 109 )
DT_UPLOADS Allows you to retrieve or change number of UserUploads.
msg->Command = 110
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be uploads.
if msg->Data = 0, then uploads will be msg->String.
(FUNCTION #: 110 )
DT_DOWNLOADS Allows you to retrieve or change number of UserDownloads.
msg->Command = 111
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be downloads.
if msg->Data = 0, then downloads will be msg->String.
(FUNCTION #: 111 )
DT_TIMESCALLED Allows you to retrieve or change number of UserCalls.
msg->Command = 112
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be TIMESCALLED.
if msg->Data = 0, then TIMESCALLED will be msg->String.
(FUNCTION #: 112 )
DT_TIMELASTON Allows you to retrieve or change time user last called.
msg->Command = 113
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be TIMESCALLED.
if msg->Data = 0, then TIMESCALLED will be msg->String.
NOTE: This is not a date stamp, this is the number of
seconds since January 19something.
(FUNCTION #: 113 )
DT_TIMEUSED Allows you to retrieve or change TIMEUSED today.
msg->Command = 114
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be TIMEUSED.
if msg->Data = 0, then TIMEUSED will be msg->String.
NOTE: This is in seconds.
(FUNCTION #: 114 )
DT_TIMELIMIT Allows you to retrieve or change TimeAllowed for a user.
msg->Command = 115
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be TIMELIMIT.
if msg->Data = 0, then TIMELIMIT will be msg->String.
NOTE: Time in seconds.
(FUNCTION #: 115 )
DT_TIMETOTAL Allows you to retrieve or change total time remaining. for a user today.
msg->Command = 116
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be time remaining.
if msg->Data = 0, then time remaining will be msg->String.
NOTE: Time in seconds.
(FUNCTION #: 116 )
DT_BYTESUPLOAD Allows you to retrieve or change bytes uploads per user.
msg->Command = 117
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be BYTESUPLOADED.
if msg->Data = 0, then BYTESUPLOADED will be msg->String.
(FUNCTION #: 117 )
DT_BYTEDOWNLOAD Allows you to retrieve or change bytes downloaded per user.
msg->Command = 118
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be BYTESDOWNLOADED.
if msg->Data = 0, then BYTESDOWNLOADED will be msg->String.
(FUNCTION #: 118 )
DT_DAILYBYTELIMIT Allows you to retrieve or change a users daily byte download limit.
msg->Command = 119
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be bytelimit.
if msg->Data = 0, then bytelimit will be msg->String.
(FUNCTION #: 119 )
DT_DAILYBYTEDLD Allows you to retrieve or change daily bytes downloaded.
msg->Command = 120
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be dailybytes.
if msg->Data = 0, then dailybytes will be msg->String.
(FUNCTION #: 120 )
DT_EXPERT Allows you to retrieve or change expert mode.
msg->Command = 121
msg->Data = 1 or 0
(FUNCTION #: 121 )
DT_LINELENGTH Allows you to retrieve or change user LINELENGTH specs.
msg->Command = 122
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be LINELENGTH.
if msg->Data = 0, then LINELENGTH will be msg->String.
(FUNCTION #: 122 )
ACTIVE_NODES Allows you to retrieve a string of active&inactive nodes.
msg->Command = 123
msg->Data = N/A
msg->String will be a string 10 bytes in length, with
'X's marking the active nodes.
NOTE: This command will surely be changing, the current
limit is 9 nodes.
(FUNCTION #: 123 )
DT_DUMP Allows you to dump the user's data structure to a specified file.
msg->Command = 124
msg->String = FileName
(FUNCTION #: 124 )
DT_TIMEOUT Allows you to retrieve or change the door TIMEOUT limit.
msg->Command = 125
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will equal TIMEOUT.
if msg->Data = 0, then TIMEOUT will equal msg->String.
NOTE: This time is in seconds.
(FUNCTION #: 125 )
BB_CONFNAME Allows you to retrieve or change the conference name.
msg->Command = 126
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be name.
if msg->Data = 0, then name will be msg->String.
(FUNCTION #: 126 )
BB_CONFLOCAL Allows you to retrieve or change the conference location.
msg->Command = 127
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be location.
if msg->Data = 0, then location will be msg->String.
(FUNCTION #: 127 )
BB_LOCAL Allows you to retrieve the current BBS location.
msg->Command = 128
msg->Data = N/A
(FUNCTION #: 128 )
BB_STATUS Allows you to retrieve the current status of the node.
msg->Command = 129
msg->Data = N/A
msg->String will be 'OFFLINE' or 'ONLINE' depending on
whether a user is logged onto the node.
(FUNCTION #: 129 )
BB_MAINLINE Allows you to retrieve the menu prompt arguments prior to the door being entered.
msg->Command = 131
msg->Data = N/A
msg->String will be the menu prompt arguments.
(FUNCTION #: 131 )
RETURNCOMMAND Allows you to specify an internal command to be executed when the door is finished.
msg->Command = 136
msg->Data = N/A
command to be executed will be msg->String.
(FUNCTION #: 136 )
ZMODEMSEND Allows you to send files to the user via Zmodem protocol.
msg->Command = 137
msg->String = filename (complete pathname)
msg->Data = N/A
result of transfer will be in msg->Data, where
if msg->Data = 1 , then transfer successful.
if msg->Data = -2, then user lost carrier.
if msg->Data = 0 , then transfer unsuccessful.
(FUNCTION #: 137 )
ZMODEMRECEIVE Allows you to receive batch uploads via Zmodem protocol.
msg->Command = 138
msg->String = receive directory path
msg->Data = N/A
result of transfer will be in msg->Data, where
if msg->Data = 1 , then transfer successful.
if msg->Data = -2, then user lost carrier.
if msg->Data = 0, then transfer unsuccessful.
(FUNCTION #: 138 )
SCREEN_ADDRESS Allows you to retrieve the screen address.
msg->Command = 139
msg->Data = N/A
msg->String will be a string containing the hexadecimal
address of the Node screen.
(FUNCTION #: 139 )
BB_TASKPRI Allows you to retrieve the priority the node is running at.
msg->Command = 140
msg->Data = N/A
msg->String will contain the priority of the node.
(FUNCTION #: 140 )
RAWSCREEN_ADDRESS Allows you to retrieve the screen address of the node.
msg->Command = 141
msg->Data = N/A
msg->String will be a string containing the decimal address
of the express node.
(FUNCTION #: 141 )
BB_CHATFLAG Allows you to retrieve the current chat setting.
msg->Command = 142
msg->Data = N/A
msg->String will be "ON" or "OFF".
(FUNCTION #: 142 )
DT_STAMP_LASTON Allows you to retrieve a date string containing the date of when the user last logged on.
msg->Command = 143
msg->Data = N/A
msg->String will be the date string.
(FUNCTION #: 143 )
DT_STAMP_CTIME Allows you to retrieve a current time string.
msg->Command = 144
msg->Data = N/A
msg->String will be a current time string.
(FUNCTION #: 144 )
DT_CURR_TIME Allows you to retrieve the current time in seconds since January something.
msg->Command = 145
msg->Data = N/A
msg->String will be the current time.
(FUNCTION #: 145 )
DT_CONFACCESS Allows you to retrieve the users conference access.
msg->Command = 146
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be AREANAME.
if msg->Data = 0, then AREANAME will be msg->String.
(FUNCTION #: 146 )
BB_NODEID Allows you to retrieve the Node number for the current node
msg->Command = 149
msg->Data = N/A
msg->String will be the node number.
(FUNCTION #: 149 )
BB_CALLERSLOG Allows you to add a line of text to the CALLERSLOG.
msg->Command = 150
msg->String = text
msg->Data = N/A
(FUNCTION #: 150 )
BB_UDLOG Allows you to add a line of text to the UDLOG.
msg->Command = 151
msg->String = text
msg->Data = N/A
(FUNCTION #: 151 )
EXPRESS_VERSION Allows you to retrieve the current version string of express.
msg->Command = 152
msg->Data = N/A
(FUNCTION #: 152 )
BB_CHATSET Allows you to retrieve or change the chat status.
msg->Command = 162
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be current status.
if msg->Data = 0, then status will be msg->String.
(FUNCTION #: 162 )
ENVSTAT Allows you to retrieve or change the current environment stat variable code.
msg->Command = 163
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be status.
if msg->Data = 0, then status will be msg->String.
(FUNCTION #: 163 )
NODE_DEVICE Allows you to retrieve the node device name.
msg->Command = 503
msg->Data = N/A
msg->String will be the device string.
(FUNCTION #: 503 )
NODE_UNIT Allows you to retrieve the node unit number.
msg->Command = 504
msg->Data = N/A
msg->String will be the current node number.
(FUNCTION #: 504 )
NODE_BAUD Allows you to retrieve the initialized baud rate of the node.
msg->Command = 505
msg->Data = N/A
msg->String will be the INIT baud rate.
(FUNCTION #: 505 )
JH_MCI Allows you to send MCI text to express.
msg->Command = 507
msg->String = text
msg->Data = N/A
(FUNCTION #: 507 )
PRV_COMMAND Allows you to immediately execute an internal express menu command.
msg->Command = 508
msg->String = commandstring
msg->Data = N/A
(FUNCTION #: 508 )
BB_CONFNUM Allows you to retrieve the current conference number.
msg->Command = 510
msg->Data = N/A
msg->String will be conference number ranging from 0 to 8.
(FUNCTION #: 510 )
BB_DROPDTR Allows you to drop carrier on a user.
msg->Command = 511
msg->Data = N/A
(FUNCTION #: 511 )
BB_GETTASK Finds the current nodes task address.
msg->Command = 512
msg->Data = N/A
msg->task will be the express task address.
(FUNCTION #: 512 )
NODE_BAUDRATE Allows you to retrieve the current users connect rate
msg->Command = 516
msg->Data = N/A
msg->String will be the connect rate
(FUNCTION #: 516 )
BB_LOGONTYPE Allows you to retrieve the LOGONTYPE.
msg->Command = 517
msg->Data = N/A
msg->Data will be:
0 = AWAIT_LOGON
1 = SYSOP_LOGON
2 = LOCAL_LOGON
3 = REMOTE_LOGON
(FUNCTION #: 517 )
BB_SCRLEFT Allows you to retrieve the screen coordinates.
msg->Command = 518
msg->Data = N/A
msg->Data will be the Node's Initial LEFTEDGE coordinate.
(FUNCTION #: 518 )
BB_SCRTOP Allows you to retrieve the screen coordinates.
msg->Command = 519
msg->Data = N/A
msg->Data will be the Node's Initial TOPEDGE coordinate.
(FUNCTION #: 519 )
BB_SCRWIDTH Allows you to retrieve the screen coordinates.
msg->Command = 520
msg->Data = N/A
msg->Data will be the Node's Initial screen height.
(FUNCTION #: 520 )
BB_SCRHEIGHT Allows you to retrieve the screen coordinates.
msg->Command = 521
msg->Data = N/A
msg->Data will be the Node's Initial screen width.
(FUNCTION #: 521 )
BB_PURGELIN Allows you to abort serial input.
msg->Command = 522
msg->Data = N/A
aborts serial input and flushes the serial buffer and sends
a request for more input.
(FUNCTION #: 522 )
BB_PURGELINESTART Allows you to CLEAR the serial buffer and request more serial input.
msg->Command = 523
msg->Data = N/A
(FUNCTION #: 523 )
BB_PURGELINEEND Allows you to CLEAR the serial buffer.
msg->Command = 524
msg->Data = N/A
(FUNCTION #: 524 )
BB_NONSTOPTEXT Allows you to change the NONSTOP text scrolling flag.
msg->Command = 525
msg->Data = 1 or 0
if msg->Data = 1, then display text will not pause.
if msg->Data = 0, then display text will pause.
(FUNCTION #: 525 )
BB_LINECOUNT Allows you to retrieve or change the user's current number of lines viewed.
msg->Command = 526
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be current line.
if msg->Data = 0, then current line will be msg->String.
(FUNCTION #: 526 )
DT_LANGUAGE Allows you to retrieve or change the current language specifications.
msg->Command = 527
msg->Data = 1 or 0
if msg->Data = 1, then msg->String will be language.
if msg->Data = 0, then language will be msg->String.
NOTE: Languages need to be standardized, please what for
guidelines.
ie: Default language .TXT
English .ENG
German .GER
note that this only effects the menus, bulletins &
other screen text files.
(FUNCTION #: 527 )
DT_QUICKFLAG Allows you to change the QUICKTEXT flag.
msg->Command = 528
msg->Data = 1 or 0
if msg->Data = 1, then the QuickFlag will be set.
if msg->Data = 0, then the QuickFlag will not be set.
(FUNCTION #: 528 )
DT_GOODFILE Allows you to set the results of a tested file after upload.
msg->Command = 529
msg->Data = 1,0 or -1
if msg->Data is 1, then the file was not tested.
if msg->Data is 0, then the file passed the filetest.
if msg->Data is -1, then the file failed the filetest.
NOTE: This command is only useful with the SYSCmd door
called FILECHECK.
(FUNCTION #: 529 )
DT_HOSTNAME Allows you to retrieve the current callers hostname if available (New for /X5)
msg->Command = 700
msg->Data = N/A
msg->String will be host name passed from telnetd.device when the user logged on
(FUNCTION #: 700 )
DT_HOSTIP Allows you to retrieve the current callers ip address if available (New for /X5)
msg->Command = 701
msg->Data = N/A
msg->String will be the ip address passed from telnetd.device when the user logged on
(FUNCTION #: 701 )
The Traditional interface provides the capability to run "DOORS" designed for other Bulletin Board Systems. This is not to say that it will interpret all "DOORS" but some may work. The traditional interface requires a file called PARADOOR, which is supplied with AmiExpress and must be located in a path that AmiExpress can find. If a CARRIER LOSS is detected or a keyboard TIMEOUT is detected, the BBS will notify the Module, but it is up to the Module to do an orderly halt. Most door programmers know how to close their doors properly. AmiExpress automatically launches the PARADOOR so please do not run it yourself.
My interface is by far the best of all of these put together, it allows you to do a lot of stuff. The best part about this interface is you don't need a separate program to access it. There will be a lot of Modules out for this in the near future, we have several being made right now.
___________ message structure for use with the XIMs
| NOTE: RexxDoors are translated to the same structure
v ~~~~ via the REXXDOOR utility
struct JHMessage
{
struct Message Msg; <----- msg structure
char String[200]; <----- info buffer
int Data; <----- Read/Write & result indicator
int Command; <----- Command sent from door.
int NODEID; <----- reserved
int LineNum; <----- reserved
unsigned long signal; <----- reserved
struct Process *task; <----- see BB_GETTASK below
} ;
PORTNAME: The portname for the XIMs is 'AEDoorPort(n)' ie: AEDoorPort1
This new interface can be used to run CLI doors. Not all doors will work correctly. You will have to experiment.
Setup procedure:
-
You must have Fifo-Handler in your L: directory, and also you must have a Fifo.Library in your Libs: directory. You must have at least version 0.4 of the Fifo.Library.
-
You must add these lines to your user-startup,
assign AXCLI: DOORS:CliConFigs run >NIL: <NIL: L:Fifo-Handler
-
You must create a directory in your doors: called cliconfigs. This directory will store the config files for each door run. They must have the door name and a .cfg behind it. These cfg files control the paths to the doors, and the commands allowed and not allowed with your keys.
doors:contris/contris! ~N BREAK_C
The first line is the execution line. Any following line is the filter options, which are as follows:
BREAK_C -----> Allows Ctrl C
BREAK_D -----> Allows Ctrl D
BREAK_E -----> Allows Ctrl E
BREAK_F -----> Allows Ctrl F
RAWMODE -----> Allows Unfiltered IO
As you can see, the CLI Doors are VERY DANGEROUS. If you have a wrong option in the cfg file, you could be opening your whole bbs up for the taking. I really mean taking. A use might be able to Break the CLI and get into your system And you know what that means.
We suggest you research the use of the multi-user file system for security. WE WILL NOT BE HELD RESPONSIBLE IF SOMEONE BREAKS INTO YOUR SYSTEM. YOU HAVE BEEN WARNED.
Original 3.36 Documentation written by Jens Langner (/X DocWriter). Original 4.0 Documentation written by The Outlaw (Andy). Updated in 2018 to include many previously undocumented v4.0 features and also to include the new v5.x configuration options by Darren Coles
-
Ami-Express-BBS-Software
- Introduction
- Copyright Information
- Requirements
- Ami-Express Version 5
- Installation of AmiExpress
- How to install Configs
- How to configurate Startup
- Setting up the /X FTP Server
- All ToolTypes Information
- The Standard Documentation
- Programlogic of AmiExpress
- Main Menu Commands
- SysCmd Documentation
- AmiExpress HOST Addresses
- MCI imbedded Control Sequence
- Connecting to QWK and FTN message networks
- Notable Features
- Note worthy of Mention
- Offline Mail Support
- Icon Script Language Support
- Trouble Shooting
- Future planned Enhancements