Skip to content

Host Addresses

phantasm4489 edited this page Aug 18, 2020 · 6 revisions

AmiExpress 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.

Special Arexx HOST Cmds (AIM)....

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.

Standard AmiExpress HOST Commands

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 <Func: 000>

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 <Func: 001>

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 <Func: 002>

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 <Func: 003>

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 <Func: 004>

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 <Func: 005>

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 <Func: 006>

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 <Func: 007>

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 <Func: 008>

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 <Func: 009>

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 <Func: 010>

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 <Func: 011>

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 <Func: 012>

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 <Func: 013>

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 <Func: 100>

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 <Func: 101>

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 <Func: 102>

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 <Func: 103>

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 <Func: 104>

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 <Func: 105>

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 <Func: 106>

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 <Func: 107>

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 <Func: 108>

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 <Func: 109>

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 <Func: 110>

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 <Func: 111>

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 <Func: 112>

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 <Func: 113>

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 <Func: 114>

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 <Func: 115>

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 <Func: 116>

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 <Func: 117>

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 <Func: 118>

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 <Func: 119>

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 <Func: 120>

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 <Func: 121>

DT_EXPERT Allows you to retrieve or change expert mode.

              msg->Command = 121
              msg->Data    = 1 or 0

(FUNCTION #: 121 )


DT_LINELENGTH <Func: 122>

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 <Func: 123>

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 <Func: 124>

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 <Func: 125>

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 <Func: 126>

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 <Func: 127>

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 <Func: 128>

BB_LOCAL Allows you to retrieve the current BBS location.

              msg->Command = 128
              msg->Data    = N/A

(FUNCTION #: 128 )


BB_STATUS <Func: 129>

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 <Func: 131>

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 <Func: 136>

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 <Func: 137>

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 <Func: 138>

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 <Func: 139>

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 <Func: 140>

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 <Func: 141>

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 <Func: 142>

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 <Func: 143>

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 <Func: 144>

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 <Func: 145>

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 <Func: 146>

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 <Func: 149>

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 <Func: 150>

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 <Func: 151>

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 <Func: 152>

EXPRESS_VERSION Allows you to retrieve the current version string of express.

              msg->Command = 152
              msg->Data    = N/A

(FUNCTION #: 152 )


BB_CHATSET <Func: 162>

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 <Func: 163>

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 <Func: 503>

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 <Func: 504>

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 <Func: 505>

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 <Func: 507>

JH_MCI Allows you to send MCI text to express.

              msg->Command = 507
              msg->String  = text
              msg->Data    = N/A

(FUNCTION #: 507 )


PRV_COMMAND <Func: 508>

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 <Func: 510>

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 <Func: 511>

BB_DROPDTR Allows you to drop carrier on a user.

              msg->Command = 511
              msg->Data    = N/A

(FUNCTION #: 511 )


BB_GETTASK <Func: 512>

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 <Func: 516>

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 <Func: 517>

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 <Func: 518>

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 <Func: 519>

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 <Func: 520>

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 <Func: 521>

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 <Func: 522>

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 <Func: 523>

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 <Func: 524>

BB_PURGELINEEND Allows you to CLEAR the serial buffer.

              msg->Command = 524
              msg->Data    = N/A

(FUNCTION #: 524 )


BB_NONSTOPTEXT <Func: 525>

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 <Func: 526>

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 <Func: 527>

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 <Func: 528>

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 <Func: 529>

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 <Func: 700>

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 <Func: 701>

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.

AmiExpress Interface Module System (XIM)....

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

AmiExpress CLI Interface (XIM)...."

This new interface can be used to run CLI doors. Not all doors will work correctly. You will have to experiment.

Setup procedure:

  1. 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.

  2. You must add these lines to your user-startup,

    assign AXCLI: DOORS:CliConFigs
    run >NIL: <NIL: L:Fifo-Handler
    
  3. 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
WARNING

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.

Clone this wiki locally