home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / DevCon / Milan_1991 / Devcon91.4 / AppShell / include / libraries / appshell.i < prev    next >
Encoding:
Text File  |  1992-09-01  |  34.7 KB  |  901 lines

  1.     ifnd LIBRARIES_APPSHELL_I
  2. LIBRARIES_APPSHELL_I    EQU    1
  3.  
  4. ************************************************************************
  5. *                                                                      *
  6. *                            Preliminary                               *
  7. *                        Amiga AppShell (tm)                           *
  8. *                                                                      *
  9. *   Copyright (c) 1990  Commodore-Amiga, Inc.  All Rights Reserved.    *
  10. *                                                                      *
  11. *   This software and information is proprietary, preliminary, and     *
  12. *   subject to change without notice.                                  *
  13. *                                                                      *
  14. *                            DISCLAIMER                                *
  15. *                                                                      *
  16. *   THIS SOFTWARE IS PROVIDED "AS IS".                                 *
  17. *   NO REPRESENTATIONS OR WARRANTIES ARE MADE WITH RESPECT TO THE      *
  18. *   ACCURACY, RELIABILITY, PERFORMANCE, CURRENTNESS, OR OPERATION      *
  19. *   OF THIS SOFTWARE, AND ALL USE IS AT YOUR OWN RISK.                 *
  20. *   NEITHER COMMODORE NOR THE AUTHORS ASSUME ANY RESPONSIBILITY OR     *
  21. *   LIABILITY WHATSOEVER WITH RESPECT TO YOUR USE OF THIS SOFTWARE.    *
  22. *                                                                      *
  23. *                          Non-Disclosure                              *
  24. *                                                                      *
  25. *   This information is not to be disclosed to any other company,      *
  26. *   individual or party.  Discussion is to be restricted to CBM        *
  27. *   approved discussion areas, such as a private area on bix           *
  28. *   dedicated to BETA versions of the Amiga AppShell.                  *
  29. *                                                                      *
  30. ************************************************************************
  31. * appshell.i
  32. * Copyright (C) 1990 Commodore-Amiga, Inc
  33. * written by David N. Junod
  34. *
  35. * Translated for Assembly by James Nelson, INOVAtronics.
  36. *
  37. * header file for the Amiga AppShell
  38. *
  39. *
  40.  
  41.     include "exec/types.i"
  42.     include "exec/nodes.i"
  43.     include "exec/lists.i"
  44.     include "exec/semaphores.i"
  45.     include "intuition/intuition.i"
  46.     include "intuition/screens.i"
  47.     include "dos/dos.i"
  48.     include "dos/dosextens.i"
  49.     include "dos/rdargs.i"
  50.     include "dos/dosasl.i"
  51.  
  52.     ifnd LIBRARIES_APPOBJECTS_I
  53.     include "libraries/appobjects.i"
  54.     endc
  55.  
  56. ;ARRPTR    MACRO    ;name,size    ;To remind ASM programmers that the structure
  57. ;    APTR    \1        ;must have memory allocated.
  58. ;    ENDM            ;Though not used here, size is the number of
  59.                 ;bytes needing to be allocated.
  60.  
  61. ;Maximum number of arguments in a command string.  Don't bother changing.
  62.  
  63. MAXARG    EQU    64
  64.  
  65. ; global object flags
  66.  
  67.     BITDEF    APSH,OPEN,0        ;object is open/available
  68.     BITDEF    APSH,DISABLED,1        ;disabled from use
  69.     BITDEF    APSH,PRIVATE,2        ;can't be called from command line
  70.     BITDEF    APSH,ALIAS,3        ;aliased object
  71.     BITDEF    APSH,LOCKON,4        ;object can't be disabled
  72.  
  73. ; The Funcs structure contains base information for a command.  This
  74. ; information gets translated into a Function Table entry and gets appended
  75. ; to the Function Table list. */
  76.  
  77.     STRUCTURE Funcs,0
  78.     APTR    fe_Name            ;Name of function
  79.     APTR    fe_Func            ;AppInfo, STRPTR, TagItem;
  80.     ULONG    fe_ID            ;ID of function
  81.     APTR    fe_Template        ;Command template
  82.     ULONG    fe_NumOpts        ;Number of options
  83.     ULONG    fe_Flags        ;Status of function
  84.     ULONG    fe_HelpID    ;index into the the text catalogue for help
  85.     APTR    fe_Params        ;optional parameters for function
  86.     APTR    fe_GroupID        ;~0 terminated array of group ID's
  87.     APTR    fe_Options        ;ReadOnly! ReadArgs
  88.     LABEL    fe_SIZEOF
  89.  
  90. ;no internal function defined for event
  91.  
  92. NO_FUNCTION    EQU    0
  93.  
  94. ; The BasePrefs structure contains preference information that all AppShell
  95. ; applications honor.  Envision a preference editor and a global preference
  96. ; file to contain this information.
  97.  
  98.     STRUCTURE BasePrefs,0
  99.     ULONG    bp_Flags        ;misc. preference flags
  100.     LABEL    bp_SIZEOF
  101.  
  102. ; Set this flag to enable saving of icons with files. This feature is
  103. ; not implemented.
  104.  
  105.     BITDEF    APSH,USEICONS,1
  106.     BITDEF    BP,USEICONS,1        ;ASHL flag
  107.  
  108. ; The AppShell defaults to using a console window for the Command Shell.
  109. ; By setting the following flag, the AppShell will use a Scrolling List
  110. ; gadget to show history and use a Text gadget for command entry.
  111. ; This feature is not implemented.
  112.  
  113.     BITDEF    APSH,LISTVIEW,2
  114.     BITDEF    BP,LISTVIEW,2        ;use listview & text gadget
  115.  
  116. ; The Project structure is used to maintain information on a project set.
  117. ; Project sets are not limited to the main project list, but also include
  118. ; such things as lists of components for a project.
  119.  
  120.     STRUCTURE Project,0
  121.     STRUCT    p_ProjList,LH_SIZE        ;Project list
  122.     APTR    p_CurProj            ;Current project (ProjNode)
  123.     LONG    p_NumProjs            ;Number of projects
  124.     LONG    p_MaxID                ;Next available ID
  125.     LONG    p_State                ;Listview state
  126.     LONG    p_TopView            ;Listview top line
  127.     LONG    p_CurLine            ;Listview current line
  128.     ULONG    p_Flags                ;Project flags
  129.     APTR    p_UserData            ;User data extension
  130.     APTR    p_SysData            ;System data extension
  131.     LABEL    p_SIZEOF
  132.  
  133. ; When this flag is set, the project information is being displayed by
  134. ; the Project List data entry requester
  135.  
  136.     BITDEF    APSH,PROJVIEW,1
  137.     BITDEF    P,PROJVIEW,1
  138.  
  139. ; Within the Project structure is an Exec list called p_ProjList.  This
  140. ; is a list of ProjNode structures.  This structure contains information
  141. ; on projects or project components.  This information can be obtained at
  142. ; startup time, from AppWindow/AppIcon messages, ASL file requester or
  143. ; through application constructs. */
  144.  
  145.     STRUCTURE ProjNode,0
  146.     STRUCT    pn_Node,LN_SIZE        ;embedded Exec node
  147.  
  148.     ; AppShell information.  Read only for application
  149.  
  150.     STRUCT    pn_Added,ds_SIZEOF    ;date stamp when added to list
  151.     BPTR    pn_ProjDir        ;lock on project directory
  152.     APTR    pn_ProjPath    ;pointer to the projects' complete name
  153.     APTR    pn_ProjName    ;pointer to the projects' name
  154.     APTR    pn_ProjComment    ;pointer to the projects' comment
  155.     APTR    pn_DObj        ;pointer to the projects' icon (DiskObj)
  156.     LONG    pn_ID        ;user selected order
  157.     APTR    pn_SysData    ;System data extension
  158.  
  159.     ;Application information */
  160.  
  161.     ULONG    pn_Status    ;status of project
  162.     ULONG    pn_ProjID    ;project ID
  163.  
  164.     ARRPTR    pn_Name,32    ;project name, only 32 bytes
  165.  
  166.     APTR    pn_UserData    ;UserData for project
  167.     BOOL    pn_Changed    ;has project been modified?
  168.     LABEL    pn_SIZEOF
  169.  
  170.  
  171. ; AppInfo structure that contains an AppShell application's global
  172. ; variables.  This structure is variable length, so NEVER embedd this
  173. ; within your own structures.  If you must, then reference it by a
  174. ; pointer.
  175.     ifnd    AppInfo
  176.     STRUCTURE AppInfo,0
  177.  
  178.     ; control information
  179.  
  180.     APTR    appi_TextRtn        ;Text return string
  181.     LONG    appi_Pri_Ret        ;Primary error (severity)
  182.     LONG    appi_Sec_Ret        ;Secondary error (actual)
  183.     BOOL    appi_Done            ;Done with main loop?
  184.  
  185.     ; startup arguments
  186.  
  187.     UWORD    appi_Startup        ;see defines below
  188.     APTR    appi_Options        ;Option bucket
  189.     LONG    appi_NumOpts        ;Number of options
  190.         APTR    appi_ArgsPtr        ;ReadArgs pointer
  191.     APTR    appi_FileArray        ;MultiArg array (from the 0 bucket)
  192.                 ; If the template specifies FILES/M, then
  193.                 ; the array is expanded using pattern
  194.                 ; matching and the resulting files are
  195.                 ; added to the project list
  196.     APTR    appi_ProgDO        ;Tool icon (DiskObject)
  197.  
  198.     ; base application information
  199.  
  200.     APTR    appi_BasePrefs        ;base user preferences (BasePrefs)
  201.     ULONG    appi_PrefSize        ;sizeof (struct BasePrefs)
  202.     BPTR    appi_ProgDir        ;base directory for application
  203.     BPTR    appi_ConfigDir        ;configuration file directory
  204.     STRUCT    appi_PrefList,LH_SIZE    ;list of preference files.
  205.     APTR    appi_BaseName        ;pointer to application base name
  206.     APTR    appi_ProgName        ;pointer to application program name
  207.     APTR    appi_AppName        ;pointer to application name
  208.     APTR    appi_AppVersion        ;pointer to version string
  209.     APTR    appi_AppCopyright        ;pointer to copyright notice
  210.     APTR    appi_AppAuthor        ;pointer to author
  211.     APTR    appi_AppMsgTitle        ;pointer to title for messages
  212.  
  213.     ; project information
  214.  
  215.         STRUCT    appi_Project,p_SIZEOF        ;embedded Project structure
  216.  
  217.     ; application information
  218.  
  219.     APTR appi_UserData            ;UserData
  220.  
  221.     ; READ ONLY Intuition-specific information
  222.  
  223.     APTR    appi_ScreenName            :pointer to public screen name
  224.     APTR    appi_Screen            ;Active screen
  225.     APTR    appi_Font            ;Font for screen (TextFont)
  226.     APTR    appi_Window            ;Active window
  227.     APTR    appi_Gadget            ;Active gadget
  228.     APTR    appi_CurObj            ;Active MHObject
  229.     APTR    appi_DI                ;Intuition DrawInfo
  230.     APTR    appi_VI                ;GadTools VisualInfo
  231.     WORD    appi_MouseX        ;Position at last IDCMP message
  232.     WORD    appi_MouseY        ;Position at last IDCMP message
  233.     UWORD    appi_TopLine            ;top line
  234.  
  235. ;------------------------------------------------------------------------
  236. ; The following fields are not for public consumption
  237. ;------------------------------------------------------------------------
  238.  
  239.     LABEL    appi_SIZEOF
  240.     endc
  241.  
  242. ;appi_Startup flags
  243.  
  244.     BITDEF    APSH,START_WB,0        ;if set then WB, else Shell
  245.     BITDEF    APSH,START_CLONE,1
  246.  
  247.     BITDEF    AI,START_WB,0
  248.     BITDEF    AI,START_CLONE,1
  249.  
  250. ;This STRUCTure is used to search through a Exec linked list using
  251. ;DOS pattern matching
  252.  
  253.     STRUCTURE AnchorList,0
  254.     STRUCT    al_CurNode,LN_SIZE
  255.     STRUCT    al_NxtNode,LN_SIZE
  256.     APTR    al_Token
  257.     ULONG    al_Flags
  258.     LABEL    al_SIZEOF
  259.  
  260. ;--------------------------------------------------------------------------
  261. ;Following is information used by the main portion of the AppShell
  262. ;--------------------------------------------------------------------------
  263.  
  264. ;Each message handler gets a base ID from which all of their commands are
  265. ; offset.  The main functions are offset from zero.
  266.  
  267. APSH_MAIN_ID    EQU    0
  268.  
  269. ;Following are ID's for the functions that are implemented by the AppShell
  270. ;whether there are any message handlers or not.
  271.  
  272. MAIN_Dummy    EQU    APSH_MAIN_ID
  273. AliasID        EQU    (MAIN_Dummy+1)    ;set up function w/parameters
  274. DebugID        EQU    (MAIN_Dummy+2)    ;general debugging
  275. DisableID    EQU    (MAIN_Dummy+3)    ;Disable a function
  276. EditID        EQU    (MAIN_Dummy+4)    ;Edit an object
  277. EnableID    EQU    (MAIN_Dummy+5)    ;Enable a function
  278. ExecMacroID    EQU    (MAIN_Dummy+6)    ;Execute the internal macro
  279. FaultID        EQU    (MAIN_Dummy+7)    ;Return error text
  280. GetID        EQU    (MAIN_Dummy+8)    ;Get object attribute
  281. GroupID        EQU    (MAIN_Dummy+9)    ;Maintain object groups
  282. HelpID        EQU    (MAIN_Dummy+10)    ;Help
  283. LearnID        EQU    (MAIN_Dummy+11)    ;Learn macro function
  284. StopLearnID    EQU    (MAIN_Dummy+12)    ;Stop learn macro function
  285. LoadMacroID    EQU    (MAIN_Dummy+13)    ;Load a macro into the internal memory
  286. PriorityID    EQU    (MAIN_Dummy+14)    ;Set an objects priority (process)
  287. RemoveID    EQU    (MAIN_Dummy+15)    ;remove an object (project)
  288. SaveMacroID    EQU    (MAIN_Dummy+16)    ;Save the internal macro to disk
  289. SelectID    EQU    (MAIN_Dummy+17)    ;select an object (project)
  290. SelectTopID    EQU    (MAIN_Dummy+18)    ;select first object (project)
  291. SelectNextID    EQU    (MAIN_Dummy+19)    ;select next object (project)
  292. SelectPrevID    EQU    (MAIN_Dummy+20)    ;select previous object (project)
  293. SelectBottomID    EQU    (MAIN_Dummy+21)    ;select last object (project)
  294. SetID        EQU    (MAIN_Dummy+22)    ;Set object attributes
  295. StatusID    EQU    (MAIN_Dummy+23)    ;Give status of an object
  296. StopID        EQU    (MAIN_Dummy+24)    ;Stop an operation
  297. StubID        EQU    (MAIN_Dummy+25)    ;NOP function
  298. VersionID    EQU    (MAIN_Dummy+26)    ;Version
  299.  
  300. ;data transmission function ID's via OpenSIPC, SIPCPrintf, CloseSIPC
  301.  
  302. LoginID        EQU    (MAIN_Dummy+100)    ;request data transmission session
  303. DataStreamID    EQU    (MAIN_Dummy+101)    ;data transmission
  304. SuspendID    EQU    (MAIN_Dummy+102)    ;temporarily suspend session
  305. ResumeID    EQU    (MAIN_Dummy+103)    ;resume data session
  306. LogoutID    EQU    (MAIN_Dummy+104)    ;signal end of session
  307.  
  308. ;Following are ID's for functions that should be implemented by the
  309. ;application to help promote a consistent set of functions for the
  310. ;end user.
  311.  
  312. ;standard project functions
  313.  
  314. NewID        EQU    (MAIN_Dummy+500)    ;new project/process
  315. ClearID        EQU    (MAIN_Dummy+501)    ;clear current project
  316. OpenID        EQU    (MAIN_Dummy+502)    ;open an existing project
  317. SaveID        EQU    (MAIN_Dummy+503)    ;save project to existing name
  318. SaveAsID    EQU    (MAIN_Dummy+504)    ;save project to a new name
  319. RevertID    EQU    (MAIN_Dummy+505)    ;revert project to last saved
  320. PrintID        EQU    (MAIN_Dummy+506)    ;print the current project
  321. PrintAsID    EQU    (MAIN_Dummy+507)    ;define print configuration
  322. AboutID        EQU    (MAIN_Dummy+508)    ;display application information
  323. InfoID        EQU    (MAIN_Dummy+509)    ;display project information
  324. QuitID        EQU    (MAIN_Dummy+510)    ;exit from the application
  325. HideID        EQU    (MAIN_Dummy+511)    ;Hide the project
  326. CloseID        EQU    (MAIN_Dummy+512)    ;Close the project
  327. DropIconID    EQU    (MAIN_Dummy+513)    ;Icon dropped in window
  328.  
  329. ;application standard edit functions
  330.  
  331. MarkID        EQU    (MAIN_Dummy+520)
  332. CutID        EQU    (MAIN_Dummy+521)
  333. CopyID        EQU    (MAIN_Dummy+522)
  334. PasteID        EQU    (MAIN_Dummy+523)
  335. EraseID        EQU    (MAIN_Dummy+524)
  336. UndoID        EQU    (MAIN_Dummy+525)
  337. OpenClipID    EQU    (MAIN_Dummy+526)
  338. SaveClipID    EQU    (MAIN_Dummy+527)
  339. PrintClipID    EQU    (MAIN_Dummy+528)
  340.  
  341. ;application standard search functions
  342.  
  343. GotoID        EQU    (MAIN_Dummy+540)
  344. FindID        EQU    (MAIN_Dummy+541)
  345. NextID        EQU    (MAIN_Dummy+542)
  346. ReplaceID    EQU    (MAIN_Dummy+543)
  347.  
  348.  
  349. ;--------------------------------------------------------------------------
  350. ;Following is information used by the ARexx message handler
  351. ;--------------------------------------------------------------------------
  352.  
  353. ;ID assigned to the ARexx message handler
  354.  
  355. APSH_AREXX_ID     EQU 5000
  356.  
  357. ;Following are ID's for the functions that are implemented by the ARexx
  358. ;message handler.
  359.  
  360. AREXX_Dummy    EQU APSH_AREXX_ID
  361. RXID        EQU (AREXX_Dummy+1)    ;Execute an ARexx command
  362. WhyID        EQU (AREXX_Dummy+2)    ;Return information on the last error
  363.  
  364. ;ID for an ARexx low-level message handler function
  365.  
  366. AH_SENDCMD     EQU 4
  367.  
  368. ;--------------------------------------------------------------------------
  369. ;Following is information used by the Command Shell message handler
  370. ;--------------------------------------------------------------------------
  371.  
  372. APSH_DOS_ID     EQU 6000
  373. CMDShellID    EQU (APSH_DOS_ID+1)    ;Activate the Command Shell
  374.  
  375. ;--------------------------------------------------------------------------
  376. ;Following is information used by the Intuition message handler
  377. ;--------------------------------------------------------------------------
  378.  
  379. ; Make a window definition without opening it
  380. APSH_MH_MAKE    EQU    4
  381.  
  382. ; Hide a window
  383. APSH_MH_HIDE    EQU    5
  384.  
  385. APSH_IDCMP_ID     EQU 7000
  386. ActivateID    EQU (APSH_IDCMP_ID+1)    ;Open GUI
  387. ButtonID    EQU (APSH_IDCMP_ID+2)    ;Edit gadget
  388. KeystrokeID    EQU (APSH_IDCMP_ID+3)    ;Edit HotKey
  389. MenuID        EQU (APSH_IDCMP_ID+4)    ;Edit menu
  390. WindowToFrontID    EQU (APSH_IDCMP_ID+5)    ;bring current window to front
  391. WindowToBackID    EQU (APSH_IDCMP_ID+6)    ;send current window to back
  392. WindowID    EQU (APSH_IDCMP_ID+7)    ;open/close window
  393. DeActivateID    EQU (APSH_IDCMP_ID+8)    ;Shutdown GUI
  394. LockGUIID    EQU (APSH_IDCMP_ID+9)    ;Lock the GUI
  395. UnLockGUIID    EQU (APSH_IDCMP_ID+10)    ;Unlock the GUI
  396.  
  397. ;extended MenuItem STRUCTure
  398.  
  399.     STRUCTURE EMenuItem,0
  400.     STRUCT    emi_Item,mi_SIZEOF    ;embedded MenuItem STRUCTure
  401.     ULONG    emi_MenuID        ;ID used for function number to perform
  402.     APTR    emi_UserData        ;UserData (like other Intuition STRUCTs)
  403.     LABEL    emi_SIZEOF
  404.  
  405.  
  406. ;--- KEYBOARD RELATED ITEMS ---
  407.  
  408. SPECIAL     EQU    255
  409.  
  410. ;some useful defines
  411.  
  412. ;TAB          EQU 9
  413. RETURN        EQU 13
  414. ;ESC        EQU 27
  415. DELETE        EQU 127
  416. HELP        EQU (SPECIAL+'?')
  417. FUNC1        EQU (SPECIAL+'0')
  418. FUNC2        EQU (SPECIAL+'1')
  419. FUNC3        EQU (SPECIAL+'2')
  420. FUNC4        EQU (SPECIAL+'3')
  421. FUNC5        EQU (SPECIAL+'4')
  422. FUNC6        EQU (SPECIAL+'5')
  423. FUNC7        EQU (SPECIAL+'6')
  424. FUNC8        EQU (SPECIAL+'7')
  425. FUNC9        EQU (SPECIAL+'8')
  426. FUNC10        EQU (SPECIAL+'9')
  427. UP        EQU (SPECIAL+'A')
  428. DOWN        EQU (SPECIAL+'B')
  429. RIGHT        EQU (SPECIAL+'C')
  430. LEFT        EQU (SPECIAL+'D')
  431.  
  432. ;component for our keyboard command array
  433.  
  434.     STRUCTURE KeyboardCMD,0
  435.     ULONG    kbc_Key            ;key
  436.     ULONG    kbc_FuncID        ;function ID
  437.     LABEL    kbc_SIZEOF
  438.  
  439. ;--------------------------------------------------------------------------
  440. ;Following is information used by the Simple IPC message handler
  441. ;--------------------------------------------------------------------------
  442.  
  443. APSH_SIPC_ID     EQU 10000
  444.  
  445. ;This STRUCTure is used by the AppShell to communicate with tools and
  446. ; other AppShell applications.
  447. ;
  448. ; If sipc_DType equal NULL, then the function ID in sipc_Type is performed
  449. ; with no arguments.
  450. ;
  451. ;    PerfFunc (ai, sipc_Type, NULL, NUL)    ;
  452. ;
  453. ; If sipc_DType equal APSH_SDT_TagList, then the function ID in sipc_Type is
  454. ; performed with sipc_Data as the tag list arguments.
  455. ;
  456. ;    PerfFunc (ai, sipc_Type, NULL, sipc_Data)    ;
  457. ;
  458. ; If sipc_DType equal APSH_SDT_Data, then the function ID in sipc_Type is
  459. ; performed with with the following tags as arguments:
  460. ;
  461. ;    APSH_SIPCData,       sipc_Data
  462. ;    APSH_SIPCDataLength, sipc_DSize
  463. ;
  464. ; If sipc_DType equal APSH_SDT_Command, then the string command line
  465. ; passed in the sipc_Data field is performed:
  466. ;
  467. ;    PerfFunc (ai, NULL, sipc_Data, NUL)    ;
  468. ;
  469.  
  470.     STRUCTURE SIPCMessage,0
  471.     STRUCT    sipc_Msg,MN_SIZE    ;Embedded Exec message STRUCTure
  472.     ULONG    sipc_Type        ;Type of message
  473.     APTR    sipc_Data        ;Pointer to message data
  474.     ULONG    sipc_DSize        ;Size of message data
  475.     ULONG    sipc_DType        ;Type of message data
  476.     ULONG    sipc_Pri_Ret        ;Primary return value
  477.     ULONG    sipc_Sec_Ret        ;Secondary return value
  478.     APTR    sipc_Extens1;        ;*** PRIVATE *** SYSTEM USE ONLY!
  479.     APTR    sipc_Extens2;        ;*** PRIVATE *** SYSTEM USE ONLY!
  480.     LABEL    sipc_SIZEOF
  481.  
  482. ;These flags are used in the sipc_DType field to indicate what type of
  483. ;information is in the sipc_Data field.
  484.  
  485. APSH_SDT_Command    EQU  1<<1    ;Data is a STRPTR
  486. APSH_SDT_TagList    EQU  1<<2    ;Data is a list of TagItem's
  487. APSH_SDT_Data        EQU  1<<3    ;Data is a pointer to a data block
  488. APSH_SDT_Text        EQU  1<<4    ;text transmissions via sprintf
  489.  
  490. ;Public SIPC port name given to the AppShell remote debugger.  Accessed
  491. ;using OpenSIPC, SIPCPrintf and CloseSIPC.
  492.  
  493. DEBUGGERNAME MACRO
  494. DEBUGGER     dc.b    "AppShell_Debugger",0
  495.          ENDM
  496.  
  497. ;--------------------------------------------------------------------------
  498. ;Following is information used by the Tool message handler
  499. ;--------------------------------------------------------------------------
  500.  
  501. APSH_TOOL_ID         EQU 11000
  502. StartupMsgID        EQU (APSH_TOOL_ID+1)    ;Startup message
  503. LoginToolID        EQU (APSH_TOOL_ID+2)    ;Login a tool SIPC port
  504. LogoutToolID        EQU (APSH_TOOL_ID+3)    ;Logout a tool SIPC port
  505. ShutdownMsgID        EQU (APSH_TOOL_ID+4)    ;Shutdown message
  506. ActivateToolID        EQU (APSH_TOOL_ID+5)    ;Activate tool
  507. DeactivateToolID     EQU (APSH_TOOL_ID+6)    ;Deactivate tool
  508. ActiveToolID        EQU (APSH_TOOL_ID+7)    ;Tool Active
  509. InactiveToolID        EQU (APSH_TOOL_ID+8)    ;Tool Inactive
  510. ToolStatusID        EQU (APSH_TOOL_ID+9)    ;Status message
  511. ToolCmdID        EQU (APSH_TOOL_ID+10)    ;Tool command message
  512. ToolCmdReplyID        EQU (APSH_TOOL_ID+11)    ;Reply to tool command
  513. ShutdownToolID        EQU (APSH_TOOL_ID+12)    ;Shutdown tool
  514.  
  515. ;typedef VOID (*F_PTR)(APTR, STRUCT MsgPort *)    ;
  516.  
  517. TOOL_ACTIVATE        EQU (1<<1)
  518.  
  519. ;STRUCTure for tool table entry
  520.  
  521.     STRUCTURE Tools,0
  522.     STRUCT    tools_Node,LN_SIZE        ;Node for tool entry
  523.     APTR    tools_Func            ;Address of function
  524.     ULONG    tools_ID            ;ID of function
  525.     ULONG    tools_Flags        ;Status of function
  526.     ULONG    tools_HitCnt        ;Access count
  527.     ULONG    tools_Stack        ;Stack requirements for function
  528.     ULONG    tools_Pri            ;Default priority for function
  529.     ULONG    tools_UseCnt        ;Current use count of function
  530.     ULONG    tools_MaxCnt        ;Maximum instances of function
  531.     APTR    tools_Port            ;Port name of owner
  532.     LABEL    tools_SIZEOF
  533.  
  534. ;--------------------------------------------------------------------------
  535. ;Following is information used by the Workbench message handler
  536. ;--------------------------------------------------------------------------
  537.  
  538. APSH_WB_ID        EQU 12000
  539.  
  540. ;APSH_CmdFlags
  541.  
  542.     BITDEF    APSH_WB,DISPLAY,1    ;maintain display box for icon
  543.     BITDEF    APSH_WB,PROJLIST,2    ;add the WBArgs to the project list
  544.     BITDEF    APSH_WB,NOLIST,3    ;don't add the WBArgs to a list
  545.  
  546. ;--------------------------------------------------------------------------
  547. ;Following is information for use by the Application
  548. ;--------------------------------------------------------------------------
  549.  
  550. ;base tag for application functions
  551. APSH_USER_ID         EQU 100000
  552.  
  553.  
  554. ;--------------------------------------------------------------------------
  555. ;Following is low-level message handler information
  556. ;--------------------------------------------------------------------------
  557.  
  558. ;message handler object node
  559.  
  560.     STRUCTURE MHObject,0
  561.     STRUCT    mho_Node,LN_SIZE    ;embedded Exec node
  562.     STRUCT    mho_ObjList,LH_SIZE    ;embedded List of children objects
  563.     APTR    mho_Parent        ;pointer to parent object (MHObject)
  564.     APTR    mho_CurNode        ;pointer to current child object (MHObject)
  565.     ULONG    mho_ID            ;numeric ID of object
  566.     ULONG    mho_Status        ;status of object
  567.     APTR    mho_SysData        ;message handler data
  568.     APTR    mho_UserData        ;application data
  569.     APTR    mho_Extens1;        ;*** PRIVATE ***
  570.  
  571.     ARRPTR    mho_Name,1        ;name of object
  572.  
  573.     LABEL    mho_SIZEOF
  574.  
  575. ;message handler node
  576.  
  577.     STRUCTURE MsgHandler,0
  578.     STRUCT    mh_Header,mho_SIZEOF    ;embedded MHObject STRUCTure
  579.     APTR    mh_Port            ;message port for handler (MsgPort)
  580.     APTR    mh_PortName        ;port name, if public
  581.     ULONG    mh_SigBits        ;signal bits to watch for
  582.  
  583. ;handler functions
  584.  
  585.     WORD    mh_NumFuncs        ;number of functions in handler
  586.     APTR    mh_Func            ;bool = ai,mh,ti
  587.     APTR    mh_DefText        ;Default text catalogue
  588.     APTR    mh_Catalogue        ;*** PRIVATE ***
  589.  
  590.     APTR    mh_Extens1        ;*** PRIVATE ***
  591.     APTR    mh_Extens2        ;*** PRIVATE ***
  592.     LABEL    mh_SIZEOF
  593.  
  594. ;--- interface function array pointers ---
  595.  
  596. APSH_MH_OPEN        EQU 0    ;make a message handler active
  597. APSH_MH_HANDLE        EQU 1    ;handle messages
  598. APSH_MH_CLOSE        EQU 2    ;make a message handler inactive
  599. APSH_MH_SHUTDOWN    EQU 3    ;free resources and delete message handler
  600.  
  601. ;--- node types ---
  602.  
  603. APSH_MH_HANDLER_T    EQU 100    ;message handler node
  604. APSH_MH_DATA_T        EQU 101    ;data node
  605.  
  606. ;--- message handler object types
  607.  
  608. APSH_MHO_WINDOW        EQU 110    ;Intuition window
  609. APSH_MHO_INTOBJ        EQU 111    ;AppShell Intuition object
  610. APSH_MHO_TOOL        EQU 120    ;Tool
  611.  
  612. ;--- node priorities ---
  613.  
  614. APSH_MH_HANDLER_P    EQU 10    ;message handler node default priority
  615. APSH_MH_DATA_P        EQU -10    ;data node default priority
  616.  
  617. ;--- overall status ---
  618.  
  619. APSHP_INACTIVE        EQU (1<<1)
  620. APSHP_SINGLE        EQU (1<<2)
  621. APSH_REQUIRED        EQU TRUE
  622. APSH_OPTIONAL        EQU FALSE
  623.  
  624. ;--------------------------------------------------------------------------
  625. ;The AppShell uses the following tags.  Reserved TAG_USER+24000L - 25999L
  626. ;--------------------------------------------------------------------------
  627.  
  628. ;Tags
  629.  
  630. APSH_Dummy        EQU TAG_USER+24000
  631.  
  632. ;library management
  633.  
  634. APSH_OpenLibraries    EQU (APSH_Dummy+1)    ;open libraries
  635. APSH_LibNameTag        EQU (APSH_Dummy+2)    ;library name tag
  636. APSH_LibName        EQU (APSH_Dummy+3)    ;library name
  637. APSH_LibVersion        EQU (APSH_Dummy+4)    ;library version
  638. APSH_LibStatus        EQU (APSH_Dummy+5)    ;required/optional
  639. APSH_LibReserved5    EQU (APSH_Dummy+10)    ;RESERVED FOR SYSTEM USE
  640. APSH_LibBase        EQU (APSH_Dummy+11)    ;library base
  641. APSH_ARexxSys        EQU (APSH_Dummy+12)    ;rexxsyslib.library
  642. APSH_ARexxSup        EQU (APSH_Dummy+13)    ;rexxsupport.library
  643. APSH_ASL        EQU (APSH_Dummy+14)    ;asl.library
  644. APSH_Commodities    EQU (APSH_Dummy+15)    ;commodities.library
  645. APSH_DiskFont        EQU (APSH_Dummy+16)    ;diskfont.library
  646. APSH_DOS        EQU (APSH_Dummy+17)    ;dos.library
  647. APSH_GadTools        EQU (APSH_Dummy+18)    ;gadtools.library
  648. APSH_Gfx        EQU (APSH_Dummy+19)    ;graphics.library
  649. APSH_Icon        EQU (APSH_Dummy+20)    ;icon.library
  650. APSH_Intuition        EQU (APSH_Dummy+21)    ;intuition.library
  651. APSH_Layers        EQU (APSH_Dummy+22)    ;layers.library
  652. APSH_IFF        EQU (APSH_Dummy+23)    ;iffparse.library
  653. APSH_Translate        EQU (APSH_Dummy+24)    ;translator.library
  654. APSH_Utility        EQU (APSH_Dummy+25)    ;utility.library
  655. APSH_Workbench        EQU (APSH_Dummy+26)    ;workbench.library
  656. APSH_AppObjects        EQU (APSH_Dummy+27)    ;appobjects.library
  657. APSH_Hyper        EQU (APSH_Dummy+28)    ;hyper.library
  658. APSH_Prefs        EQU (APSH_Dummy+29)    ;prefs.library
  659.  
  660. ;main AppShell tags
  661.  
  662. APSH_NumArgs        EQU (APSH_Dummy+40)    ;Number of Shell arguments
  663. APSH_ArgList        EQU (APSH_Dummy+41)    ;Shell arguments
  664. APSH_WBStartup        EQU (APSH_Dummy+42)    ;Workbench arguments
  665. APSH_ControlPort    EQU (APSH_Dummy+43)    ;SIPC Control port for a cloned AppShell
  666. APSH_AppName        EQU (APSH_Dummy+44)    ;pointer to the application's name
  667. APSH_AppVersion        EQU (APSH_Dummy+45)    ;pointer to the application's version
  668. APSH_AppCopyright    EQU (APSH_Dummy+46)    ;pointer to the application's (c) notice
  669. APSH_AppAuthor        EQU (APSH_Dummy+47)    ;pointer to the application's author
  670. APSH_AppMsgTitle    EQU (APSH_Dummy+48)    ;pointer to message title
  671. APSH_FuncTable        EQU (APSH_Dummy+55)    ;function table for application
  672. APSH_DefText        EQU (APSH_Dummy+56)    ;Default text catalogue
  673. APSH_AppInit        EQU (APSH_Dummy+57)    ;Custom application init function ID
  674. APSH_AppExit        EQU (APSH_Dummy+58)    ;Custom application shutdown function ID
  675. APSH_SIG_C        EQU (APSH_Dummy+59)    ;SIG_BREAK_C function ID
  676. APSH_SIG_D        EQU (APSH_Dummy+60)    ;SIG_BREAK_D function ID
  677. APSH_SIG_E        EQU (APSH_Dummy+61)    ;SIG_BREAK_E function ID
  678. APSH_SIG_F        EQU (APSH_Dummy+62)    ;SIG_BREAK_F function ID
  679. APSH_ProjInfo        EQU (APSH_Dummy+63)    ;pointer to a Project STRUCTure
  680. APSH_BaseName        EQU (APSH_Dummy+64)    ;Base name
  681. APSH_Template        EQU (APSH_Dummy+65)    ;Startup template
  682. APSH_NumOpts        EQU (APSH_Dummy+66)    ;Number of options
  683. APSH_FuncEntry        EQU (APSH_Dummy+67)    ;Funcs STRUCTure for command
  684. APSH_UserData        EQU (APSH_Dummy+68)    ;Preallocated user data
  685. APSH_ProjIcon        EQU (APSH_Dummy+69)    ;Default project icon
  686. APSH_ProjIconName    EQU (APSH_Dummy+70)    ;Default project icon name
  687. APSH_MsgHandler        EQU (APSH_Dummy+71)    ;Message handler pointer
  688. APSH_UserDataSize    EQU (APSH_Dummy+72)    ;Size of data
  689. APSH_PortAddr        EQU (APSH_Dummy+73)
  690. APSH_AppHandle        EQU (APSH_Dummy+74)
  691.  
  692. ;message handler routines
  693.  
  694. APSH_AddHandler        EQU (APSH_Dummy+80)    ;add a message handler to application
  695. APSH_Setup        EQU (APSH_Dummy+81)    ;setup function
  696. APSH_Status        EQU (APSH_Dummy+82)    ;active, inactive, multiple, etc...
  697. APSH_Rating        EQU (APSH_Dummy+83)    ;optional/required, etc...
  698. APSH_Port        EQU (APSH_Dummy+84)    ;name of the message port
  699. APSH_Handler        EQU (APSH_Dummy+85)    ;Handler ID
  700. APSH_CmdData        EQU (APSH_Dummy+86)    ;Command data
  701. APSH_CmdDataLength    EQU (APSH_Dummy+87)    ;Length of command data
  702. APSH_CmdID        EQU (APSH_Dummy+88)    ;Command ID (function)
  703. APSH_CmdString        EQU (APSH_Dummy+89)    ;Command string
  704. APSH_CmdTagList        EQU (APSH_Dummy+90)    ;Command tag list
  705. APSH_Command        EQU (APSH_Dummy+91)    ;Handler command
  706. APSH_NameTag        EQU (APSH_Dummy+92)    ;Name Tag for object
  707. APSH_CmdFlags        EQU (APSH_Dummy+93)    ;Command Flags
  708. APSH_TextID        EQU (APSH_Dummy+94)    ;Text ID
  709. APSH_BaseID        EQU (APSH_Dummy+95)    ;Base ID
  710.  
  711. APSH_AddARexx_UI    EQU (APSH_Dummy+96)    ;ARexx UI
  712. APSH_AddCmdShell_UI    EQU (APSH_Dummy+97)    ;Command Shell UI
  713. APSH_AddIntui_UI    EQU (APSH_Dummy+98)    ;Graphical UI
  714. APSH_AddSIPC_UI        EQU (APSH_Dummy+99)    ;Simple IPC UI
  715. APSH_AddTool_UI        EQU (APSH_Dummy+100)    ;Tool UI
  716. APSH_AddWB_UI        EQU (APSH_Dummy+101)    ;Workbench UI
  717. APSH_AddClone_UI    EQU (APSH_Dummy+102)    ;PRIVATE
  718.  
  719. ;ARexx information
  720.  
  721. APSH_Extens        EQU (APSH_Dummy+120)    ;ARexx macro name extension
  722. APSH_ARexxError        EQU (APSH_Dummy+121)    ;ARexx command ERROR function ID
  723. APSH_ARexxOK        EQU (APSH_Dummy+122)    ;ARexx command OK function ID
  724.  
  725. ;Command shell
  726.  
  727. APSH_CloseMsg        EQU (APSH_Dummy+140)    ;Closing message
  728. APSH_CMDWindow        EQU (APSH_Dummy+141)    ;Command window spec
  729. APSH_Prompt        EQU (APSH_Dummy+142)    ;Command window prompt
  730.  
  731. ;Window information
  732.  
  733. APSH_WindowEnv        EQU (APSH_Dummy+160)    ;Window Environment
  734. APSH_TextAttr        EQU (APSH_Dummy+161)    ;Text Attributes
  735. APSH_NewScreen        EQU (APSH_Dummy+162)    ;NewScreen STRUCTure
  736. APSH_NewScreenTags    EQU (APSH_Dummy+163)    ;Tags for new screen
  737. APSH_Palette        EQU (APSH_Dummy+164)    ;Color Palette
  738. APSH_NewWindow        EQU (APSH_Dummy+165)    ;NewWindow STRUCTure
  739. APSH_NewWindowTags    EQU (APSH_Dummy+166)    ;Tags for new window
  740. APSH_HotKeys        EQU (APSH_Dummy+167)    ;HotKey command array
  741. APSH_Menu        EQU (APSH_Dummy+168)    ;Intuition-style Menu array
  742. APSH_Gadgets        EQU (APSH_Dummy+169)    ;Intuition-style Gadget array
  743. APSH_GTMenu        EQU (APSH_Dummy+170)    ;GadTools-style Menu array
  744. APSH_GTGadgets        EQU (APSH_Dummy+171)    ;GadTools-style NewGadget array
  745. APSH_GTFlags        EQU (APSH_Dummy+172)    ;flags for GadTools objects
  746. APSH_Objects        EQU (APSH_Dummy+173)    ;Object array
  747. APSH_ObjDown        EQU (APSH_Dummy+174)    ;Gadget downpress function ID
  748. APSH_ObjHold        EQU (APSH_Dummy+175)    ;Gadget hold function ID
  749. APSH_ObjRelease        EQU (APSH_Dummy+176)    ;Gadget release function ID
  750. APSH_ObjDblClick    EQU (APSH_Dummy+177)    ;Gadget double-click function ID
  751. APSH_ObjAbort        EQU (APSH_Dummy+178)    ;Gadget abort function ID
  752. APSH_ObjAltHit        EQU (APSH_Dummy+179)    ;Gadget ALT hit function ID
  753. APSH_ObjShiftHit    EQU (APSH_Dummy+180)    ;Gadget SHIFT hit function ID
  754. APSH_ObjData        EQU (APSH_Dummy+181)    ;Gadget image or data
  755. APSH_ObjInner        EQU (APSH_Dummy+182)    ;Inner rectangle
  756. APSH_ObjPointer        EQU (APSH_Dummy+183)    ;pointer name prefix
  757. APSH_DefWinFlags    EQU (APSH_Dummy+184)    ;Default window flags
  758. APSH_ObjName        EQU (APSH_Dummy+185)    ;Object name
  759. APSH_WinName        EQU (APSH_Dummy+186)    ;Window name
  760. APSH_WinPointer        EQU (APSH_Dummy+188)    ;Pointer to window
  761. APSH_ShowSelected    EQU (APSH_Dummy+189)    ;Name of txt object for list
  762. APSH_Screen        EQU (APSH_Dummy+190)    ;Screen Pointer
  763. APSH_ObjExtraRelease    EQU (APSH_Dummy+191)    ;Alternate button release
  764. APSH_ObjAltData        EQU (APSH_Dummy+192)    ;Alternate image
  765. APSH_ParentWindow    EQU (APSH_Dummy+193)    ;Parent window
  766. APSH_TTMenu        EQU (APSH_Dummy+194)    ;Index of menu in text table
  767. APSH_WinText        EQU (APSH_Dummy+195)    ;Window text catalog
  768. APSH_ObjCreate        EQU (APSH_Dummy+196)    ;After object is created
  769. APSH_ObjDelete        EQU (APSH_Dummy+197)    ;Before object is removed
  770.  
  771. ;IDCMP messages
  772.  
  773. APSH_SizeVerify        EQU (APSH_Dummy+220)    ;SIZEVERIFY function ID
  774. APSH_NewSize        EQU (APSH_Dummy+221)    ;NEWSIZE function ID
  775. APSH_RefreshWindow    EQU (APSH_Dummy+222)    ;REFRESHWINDOW function ID
  776. APSH_MouseButtons    EQU (APSH_Dummy+223)    ;MOUSEBUTTONS function ID
  777. APSH_ReqSet        EQU (APSH_Dummy+224)    ;REQSET function ID
  778. APSH_CloseWindow    EQU (APSH_Dummy+225)    ;CLOSEWINDOW  function ID
  779. APSH_ReqVerify        EQU (APSH_Dummy+226)    ;REQVERIFY function ID
  780. APSH_ReqClear        EQU (APSH_Dummy+227)    ;REQCLEAR function ID
  781. APSH_MenuVerify        EQU (APSH_Dummy+228)    ;MENUVERIFY function ID
  782. APSH_DiskInserted    EQU (APSH_Dummy+229)    ;DISKINSERTED function ID
  783. APSH_DiskRemoved    EQU (APSH_Dummy+230)    ;DISKREMOVED function ID
  784. APSH_ActiveWindow    EQU (APSH_Dummy+231)    ;ACTIVEWINDOW function ID
  785. APSH_InactiveWindow    EQU (APSH_Dummy+232)    ;INACTIVEWINDOW function ID
  786. APSH_IntuiTicks        EQU (APSH_Dummy+233)    ;INTUITICKS function
  787. APSH_MouseMove        EQU (APSH_Dummy+234)    ;Mouse move function
  788. APSH_WinBOpen        EQU (APSH_Dummy+235)    ;Call before opening window
  789. APSH_WinAOpen        EQU (APSH_Dummy+236)    ;Call after opening window
  790. APSH_WinBClose        EQU (APSH_Dummy+237)    ;Call before closing window
  791. APSH_WinAClose        EQU (APSH_Dummy+238)    ;Call after closing window
  792. APSH_RefreshData    EQU (APSH_Dummy+239)    ;Refresh gadget data
  793.  
  794. ;Real or simulated IntuiMessage fields
  795.  
  796. APSH_MsgClass        EQU (APSH_Dummy+260)    ;message class
  797. APSH_MsgCode        EQU (APSH_Dummy+261)    ;message code
  798. APSH_MsgQualifier    EQU (APSH_Dummy+262)    ;message qualifier
  799. APSH_MsgIAddress    EQU (APSH_Dummy+263)    ;item address
  800. APSH_MsgMouseX        EQU (APSH_Dummy+264)    ;mouse X coordinate
  801. APSH_MsgMouseY        EQU (APSH_Dummy+265)    ;mouse Y coordinate
  802. APSH_MsgSeconds        EQU (APSH_Dummy+266)    ;seconds
  803. APSH_MsgMicros        EQU (APSH_Dummy+267)    ;micros
  804. APSH_MsgWindow        EQU (APSH_Dummy+268)    ;window for event
  805. APSH_IntuiMessage    EQU (APSH_Dummy+269)    ;Complete IntuiMessage
  806.  
  807. ;SIPC message
  808.  
  809. APSH_SIPCData        EQU (APSH_Dummy+300)    ;Pointer the data passed by a SIPC message
  810. APSH_SIPCDataLength    EQU (APSH_Dummy+301)    ;Length of the SIPC data
  811.  
  812. ;Tool information
  813.  
  814. APSH_Tool        EQU (APSH_Dummy+320)    ;Name of tool
  815. APSH_ToolAddr        EQU (APSH_Dummy+321)    ;Address of tool
  816. APSH_ToolData        EQU (APSH_Dummy+322)    ;Data for tool
  817. APSH_ToolStack        EQU (APSH_Dummy+323)    ;Stack requirements of tool
  818. APSH_ToolPri        EQU (APSH_Dummy+324)    ;Priority of tool
  819.  
  820. ;Workbench tags
  821.  
  822. APSH_AppWindowEnv    EQU (APSH_Dummy+400)    ;AppWindow information
  823. APSH_AppIconEnv        EQU (APSH_Dummy+401)    ;AppIcon information
  824. APSH_AppMenuEnv        EQU (APSH_Dummy+402)    ;AppMenuItem information
  825. APSH_WBArg        EQU (APSH_Dummy+420)    ;pointer to WBArg
  826.  
  827. ;Workbench tags for function ID's
  828.  
  829. APSH_AppOpen        EQU (APSH_Dummy+403)    ;After App... is added
  830. APSH_AppBDrop        EQU (APSH_Dummy+404)    ;Before icons are processed
  831. APSH_AppDDrop        EQU (APSH_Dummy+405)    ;For each icon in the list
  832. APSH_AppADrop        EQU (APSH_Dummy+406)    ;After icons added to project list
  833. APSH_AppClose        EQU (APSH_Dummy+407)    ;Before App... closed
  834. APSH_AppRemove        EQU (APSH_Dummy+408)    ;Before App... deleted
  835. APSH_AppDblClick    EQU (APSH_Dummy+409)    ;When icon double-clicked
  836.  
  837. APSH_NEXT_TAG        EQU (APSH_Dummy+500)    ;remember...
  838.  
  839. ;--------------------------------------------------------------------------
  840. ;Following are ID's to use to access the AppShell text table
  841. ;--------------------------------------------------------------------------
  842.  
  843. APSH_PAD        EQU 0
  844. APSH_NOT_AN_ICON    EQU (APSH_PAD+1)    ;%s is not an icon.
  845. APSH_NOT_AVAILABLE    EQU (APSH_PAD+2)    ;%s is not available
  846. APSH_PORT_ACTIVE    EQU (APSH_PAD+3)    ;%s port already active
  847. APSH_PORT_X_ACTIVE    EQU (APSH_PAD+4)    ;port, %s, already active
  848. APSH_NOT_AN_IFF        EQU (APSH_PAD+5)    ;%s is not an IFF file
  849. APSH_NOT_AN_IFF_X    EQU (APSH_PAD+6)    ;%1$s is not an IFF %2$s file
  850. APSH_CLOSE_ALL_WINDOWS    EQU (APSH_PAD+7)    ;Close all windows
  851. APSH_CMDSHELL_PROMPT    EQU (APSH_PAD+8)    ;Cmd>
  852. APSH_CLDNT_CREATE_X    EQU (APSH_PAD+9)    ;Could not create %s
  853. APSH_CLDNT_CREATE_PORT    EQU (APSH_PAD+10)    ;Could not create port, %s
  854. APSH_CLDNT_CREATE_OBJ    EQU (APSH_PAD+11)    ;Could not create object
  855. APSH_CLDNT_CREATE_OBJ_X    EQU (APSH_PAD+12)    ;Could not create object, %s
  856. APSH_CLDNT_CREATE_FILE    EQU (APSH_PAD+13)    ;Could not create file
  857. APSH_CLDNT_CREATE_FILE_X EQU (APSH_PAD+14)    ;Could not create file, %s
  858. APSH_CLDNT_INIT_X    EQU (APSH_PAD+15)    ;Could not initialize %s
  859. APSH_CLDNT_INIT_MSGH    EQU (APSH_PAD+16)    ;Could not initialize %s message handler
  860. APSH_CLDNT_LOCK        EQU (APSH_PAD+17)    ;Could not lock %s
  861. APSH_CLDNT_LOCK_DIR    EQU (APSH_PAD+18)    ;Could not lock directory
  862. APSH_CLDNT_LOCK_DIR_X    EQU (APSH_PAD+19)    ;Could not lock directory, %s
  863. APSH_CLDNT_LOCK_PUB    EQU (APSH_PAD+20)    ;Could not lock public screen
  864. APSH_CLDNT_LOCK_PUB_X    EQU (APSH_PAD+21)    ;Could not lock public screen, %s
  865. APSH_CLDNT_OBTAIN    EQU (APSH_PAD+22)    ;Could not obtain %s
  866. APSH_CLDNT_OPEN        EQU (APSH_PAD+23)    ;Could not open %s
  867. APSH_CLDNT_OPEN_FILE    EQU (APSH_PAD+24)    ;Could not open file
  868. APSH_CLDNT_OPEN_FILE_X    EQU (APSH_PAD+25)    ;Could not open file, %s
  869. APSH_CLDNT_OPEN_FONT_X    EQU (APSH_PAD+26)    ;Could not open font, %s
  870. APSH_CLDNT_OPEN_MACRO    EQU (APSH_PAD+27)    ;Could not open macro file, %s
  871. APSH_CLDNT_OPEN_PREF    EQU (APSH_PAD+28)    ;Could not open preference file, %s
  872. APSH_CLDNT_OPEN_SCREEN    EQU (APSH_PAD+29)    ;Could not open screen
  873. APSH_CLDNT_OPEN_WINDOW    EQU (APSH_PAD+30)    ;Could not open window
  874. APSH_SETUP_TIMER    EQU (APSH_PAD+31)    ;Could not set up timer event
  875. APSH_SETUP_HOTKEYS    EQU (APSH_PAD+32)    ;Could not set up HotKeys
  876. APSH_START_PROCESS    EQU (APSH_PAD+33)    ;Could not start process
  877. APSH_START_TOOL        EQU (APSH_PAD+34)    ;Could not start tool
  878. APSH_START_TOOL_X    EQU (APSH_PAD+35)    ;Could not start tool, %s
  879. APSH_WRITE_FILE        EQU (APSH_PAD+36)    ;Could not write to file
  880. APSH_WRITE_FILE_X    EQU (APSH_PAD+37)    ;Could not write to file, %s
  881. APSH_WRITE_MACRO    EQU (APSH_PAD+38)    ;Could not write to macro file
  882. APSH_CMDSHELL_WIN    EQU (APSH_PAD+39)    ;CON:0/150/600/50/Command Shell/CLOSE
  883. APSH_NO_NAMETAG_WIN    EQU (APSH_PAD+40)    ;No name given for window
  884. APSH_NO_PORT        EQU (APSH_PAD+41)    ;No port name specified
  885. APSH_NOT_ENOUGH_MEMORY    EQU (APSH_PAD+42)    ;Not enough memory
  886. APSH_WAITING_FOR_MACRO    EQU (APSH_PAD+43)    ;Waiting for macro return
  887. APSH_DISABLED        EQU (APSH_PAD+44)    ;%s is disabled
  888. APSH_IOERR        EQU (APSH_PAD+45)    ;IoErr #%ld
  889. APSH_INVALID_NAMETAG    EQU (APSH_PAD+46)    ;Invalid name tag.
  890. APSH_OKAY_TXT        EQU (APSH_PAD+47)    ;Okay
  891. APSH_CANCEL_TXT        EQU (APSH_PAD+48)    ;Cancel
  892. APSH_CONTINUE_TXT    EQU (APSH_PAD+49)    ;Continue
  893. APSH_DONE_TXT        EQU (APSH_PAD+50)    ;Done
  894. APSH_ABORT_TXT        EQU (APSH_PAD+51)    ;Abort
  895. APSH_QUIT_TXT        EQU (APSH_PAD+52)    ;Quit
  896. APSH_UNNAMED        EQU (APSH_PAD+53)    ;Unnamed
  897. APSH_SYNTAX_ERROR    EQU (APSH_PAD+54)    ;Syntax Error:\n%s %s
  898. APSH_LAST_MESSAGE    EQU (APSH_PAD+55)
  899.  
  900.     endif
  901.