home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) Darin Johnson, 1989 */
-
- /* MyMenu.h */
- /* Modified by John Baker, 1990 */
-
- #define VERSION "MyMenu v1.1"
-
- #define MYMENU_NAME "MyMenu"
- #define WBPORT_NAME "MyMenu-WBPort"
-
- #define DO_WB
- /* #define DO_PATH - should work but not tested */
- /* #define DO_AREXX - future plans... */
-
- #define SEPARATE 23 /* distance between menus */ /***** WAS 32 *****/
- #define STACK 4096 /* 2048 is too small */
-
- struct ext_MenuItem {
- struct MenuItem MenuItem;
- struct ext_MenuItem *next_item;
- ULONG id;
- char *cmd;
- char *args;
- char type;
- };
-
- struct Path {
- struct Path *path_Next;
- BPTR path_Lock;
- };
-
- /* would declare whole thing 'volatile' if allowed */
- struct MMData {
- struct MsgPort port;
- struct ext_MenuItem *item_list;
- struct Menu *my_menu, *prev_menu, *WBMenu;
- struct Window *WBWindow;
- struct Task *handler_task, *parent_task;
- USHORT parent_sig, handler_sig;
- char error_code;
- long segment; /* defined as long, since Manx is picky */
- struct Path *CLI_path; /* copy of CLI path */
- };
-
- extern struct MMData *MM;
- extern struct ext_MenuItem *add_menu();
-
- /* error codes */
- #define ERR_OK 0
- #define ERR_LIB 1
- #define ERR_WIN 2
- #define ERR_MON 3
- #define ERR_WB_OPEN 4
-