home *** CD-ROM | disk | FTP | other *** search
- /* prf.h V091 */
- /* 9-3-92 */
-
- #include <devices/printer.h>
- /*
- #define DEUTSCH
- */
- /* to create an english executable remove the line above */
-
- #ifdef DEUTSCH
- #include "prf.deutsch.h"
- #else
- #include "prf.english.h"
- #endif
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* Define's */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- #define SYSTEM_VERSION 37L
- #define STR_SIZE 256
- #define SWD_WIDTH 338
- #define SWD_HEIGHT 180
- #define DEFAULT_LINES 66L
- #define DEFAULT_LMARGIN 0L
- #define DEFAULT_RMARGIN 128L
- #define DEFAULT_QUALITY 0L
- #define DEFAULT_PITCH 1L
- #define DEFAULT_CPI 2L
- #define FILE_UNKNOWN 0L
- #define FILE_TEXT 1L
- #define FILE_ILBM 2L
- #define FILE_FTXT 3L
- #define FILE_PROG 4L
- #define FILE_ICON 5L
- #define FILE_DIR 6L
-
-
- #define TOOLTYPE_WD "WINDOW"
- #define TOOLTYPE_FLAGS "FLAGS"
- #define TOOLTYPE_HEAD "HEADLINE"
- #define TOOLTYPE_FOOT "FOOTLINE"
- #define TOOLTYPE_LINES "LINES"
- #define TOOLTYPE_RMARGIN "RMARGIN"
- #define TOOLTYPE_LMARGIN "LMARGIN"
-
- /* iconinfo */
-
- #define ITYPE_TOOL " Tool "
- #define ITYPE_DISK " Disk "
- #define ITYPE_DRAWER " Drawer "
- #define ITYPE_PROJECT " Project "
- #define ITYPE_GARBAGE " Trashcan "
- #define ITYPE_DEVICE " Device "
- #define ITYPE_APP " AppIcon "
- #define ITYPE_UNKNOWN " Unknown "
-
- #define CLI_WD 'w'
- #define CLI_DRAFT 'a'
- #define CLI_LQ 'q'
- #define CLI_PAGE 'p'
- #define CLI_DATE 'd'
- #define CLI_LINE 'l'
- #define CLI_FF 'f'
- #define CLI_FFPAGE 'c'
- #define CLI_10CPI '0'
- #define CLI_12CPI '2'
- #define CLI_15CPI '5'
- #define CLI_PITCH6 '6'
- #define CLI_PITCH8 '8'
- #define CLI_FILE 'n'
- #define CLI_TIME 't'
-
-
- #define CMD_NEUTRAL 0L
- #define CMD_PRINT 1L
- #define CMD_CHANGEAPP 2L
- #define CMD_QUIT 3L
- #define CMD_INSERTHEAD 4L
- #define CMD_INSERTTAIL 5L
- #define CMD_REMOVE 6L
- #define CMD_FILEREQ 7L
- #define CMD_DISPLAY 8L
- #define CMD_STR_INSERT 9L
- #define CMD_OPENPWD 10L
- #define CMD_CLOSEPWD 11L
- #define CMD_ABOUT 12L
- #define CMD_HEAD 13L
- #define CMD_FOOT 14L
- #define CMD_DATE_ON 15L
- #define CMD_TIME_ON 16L
- #define CMD_NAME_ON 17L
- #define CMD_FF_ON 18L
- #define CMD_FFPAGE_ON 19L
- #define CMD_PAGE_ON 20L
- #define CMD_LINE_ON 21L
- #define CMD_PITCH6 22L
- #define CMD_PITCH8 23L
- #define CMD_HEADL 24L
- #define CMD_FOOTL 25L
- #define CMD_RESETALL 26L
- #define CMD_CLEARLIST 27L
- #define CMD_OPENWD 28L
- #define CMD_CLOSEWD 29L
- #define CMD_RXQUIT 30L
- #define CMD_10CPI 31L
- #define CMD_12CPI 32L
- #define CMD_15CPI 33L
- #define CMD_LINES 34L
- #define CMD_DRAFT 35L
- #define CMD_LQ 36L
- #define CMD_LMARGIN 37L
- #define CMD_RMARGIN 38L
- #define CMD_DATE_OFF 39L
- #define CMD_TIME_OFF 40L
- #define CMD_NAME_OFF 41L
- #define CMD_FF_OFF 42L
- #define CMD_FFPAGE_OFF 43L
- #define CMD_PAGE_OFF 44L
- #define CMD_LINE_OFF 45L
- #define CMD_SAVEPREFS 46L
- #define CMD_STATUS 47L
- #define CMD_VERSION 48L
- #define CMD_SP_FILES_ON 49L
- #define CMD_SP_RESET_ON 50L
- #define CMD_SP_WINDOW_ON 51L
- #define CMD_SP_COMMENT_ON 52L
- #define CMD_SP_PRINT_ON 53L
- #define CMD_SP_FILES_OFF 54L
- #define CMD_SP_RESET_OFF 55L
- #define CMD_SP_WINDOW_OFF 56L
- #define CMD_SP_COMMENT_OFF 57L
- #define CMD_SP_PRINT_OFF 58L
- #define CMD_SP_START_OFF 59L
- #define CMD_SP_START_ON 60L
- #define CMD_SP_ICON_OFF 61L
- #define CMD_SP_ICON_ON 62L
- #define CMD_ICONINFO 63L
- #define CMD_ICONGFX 64L
- #define CMD_ICONNONE 65L
- #define CMD_PROGINFO 66L
- #define CMD_PROGICON 67L
- #define CMD_PROGNONE 68L
- #define CMD_ICONALL 69L
- #define CMD_PROGALL 70L
- #define CMD_CLOSEPRINTER 71L
- #define CMD_SP_LINES_ON 72L
- #define CMD_SP_LINES_OFF 73L
-
-
-
- /* rexx commands */
- #define RXPORTNAME "PRINTFILES"
- #define RX_ERRORLEVEL 5L
- #define RX_VERSION_STR T_PRF T_VERSION
-
- #define T_RX_AD "address " RXPORTNAME " "
- #define T_RX_RESET "reset"
- #define T_RX_CLEAR "clear"
- #define T_RX_INSFILE "insfile"
- #define T_RX_REMFILE "remfile"
- #define T_RX_OPENWINDOW "openwindow"
- #define T_RX_CLOSEWINDOW "closewindow"
- #define T_RX_QUIT "quit"
- #define T_RX_PAGE "page"
- #define T_RX_FILE "filename"
- #define T_RX_TIME "time"
- #define T_RX_DATE "date"
- #define T_RX_LINE "line"
- #define T_RX_FF "ff"
- #define T_RX_FFPAGE "fpage"
- #define T_RX_HEAD "headline"
- #define T_RX_FOOT "footline"
- #define T_RX_LINES "lines"
- #define T_RX_RMARGIN "rmargin"
- #define T_RX_LMARGIN "lmargin"
- #define T_RX_DRAFT "draft"
- #define T_RX_LQ "lq"
- #define T_RX_PITCH6 "6li"
- #define T_RX_PITCH8 "8li"
- #define T_RX_10CPI "10cpi"
- #define T_RX_12CPI "12cpi"
- #define T_RX_15CPI "15cpi"
- #define T_RX_ON "on"
- #define T_RX_OFF "off"
- #define T_RX_CONTROL "control"
- #define T_RX_PREFS "prefs"
- #define T_RX_PRINT "print"
- #define T_RX_SAVEPREFS "saveprefs"
- #define T_RX_STATUS "status"
- #define T_RX_VERSION "version"
- #define T_RX_ERROR "Unknown command"
- #define T_RX_PMSG "printing"
- #define T_RX_WMSG "waiting"
- #define T_RX_ICON "icon"
- #define T_RX_INFO "text"
- #define T_RX_GFX "icon"
- #define T_RX_ALL "all"
- #define T_RX_PROG "prog"
- #define T_RX_CGFX "image"
- #define T_RX_IGNORE "ignore"
-
-
- #define RX_CMD_NEUTRAL 0
- #define RX_CMD_ON 1
-
- #define GD_PwdButton 0
- #define GD_About 1
- #define GD_Headline 2
- #define GD_Footline 3
- #define GD_Date 4
- #define GD_Time 5
- #define GD_Filename 6
- #define GD_Pagenumber 7
- #define GD_Linenumber 8
- #define GD_FFPAGE 9
- #define GD_FF 10
- #define GD_Gadget11 11
- #define GD_List 12
- #define GD_Filereq 13
- #define GD_Remove 14
- #define GD_Print 15
- #define GD_quit 16
-
- #define GD_Quality 17
- #define GD_Pitch 18
- #define GD_cpi 19
- #define GD_Linesperpage 20
- #define GD_Lmargin 21
- #define GD_Rmargin 22
- #define GD_Icons 23
- #define GD_Progs 24
- #define GD_Saveprefs 25
- #define GD_PPrint 26
- #define GD_include_comment 27
- #define GD_include_files 28
- #define GD_include_window 29
- #define GD_include_reset 30
- #define GD_include_print 31
- #define GD_include_start 32
- #define GD_include_icon 33
- #define GD_include_lines 34
-
- #define PGD GD_Quality
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* Data structure definition */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- union PrinterIO
- {
- struct IOStdReq ios;
- struct IODRPReq iodrp;
- struct IOPrtCmdReq iopc;
- };
-
- struct FileNameNode
- {
- struct Node fnn_Node;
- char fnn_Name[STR_SIZE];
- };
-
- struct BitMapHeader
- {
- UWORD w, h;
- UWORD x, y;
- UBYTE nPlanes;
- UBYTE masking;
- UBYTE compression;
- UBYTE pad1;
- UWORD transparentColor;
- UBYTE xAspect, yAspect;
- WORD pageWidth, pageHeight;
- };
-
- struct ILBM_info
- {
- struct RastPort rp;
- struct BitMapHeader header;
- struct BitMap bmap;
- ULONG camg;
- struct ColorMap *cm;
- UWORD cmap[256];
- };
-
-
- struct prf_info
- {
- struct Screen *PubScr;
- APTR VisualInfo;
- struct Window *Swd;
- struct Window *Pwd;
- struct IntuiMessage *imsg;
- struct AppMessage *amsg;
- struct RexxMsg *rmsg;
- union PrinterIO *PIO;
- struct MsgPort *rexxPort;
- struct MsgPort *appPort;
- struct MsgPort *prtPort;
- struct AppWindow *aWnd;
- struct AppIcon *aicon;
- struct AppMenuItem *amenu;
- struct Gadget *SGlist;
- struct Gadget *PGlist;
- struct Gadget *SGadgets[17];
- struct Gadget *PGadgets[20];
- struct List FileList;
- ULONG Lines;
- ULONG Lmargin;
- ULONG Rmargin;
- ULONG Columns;
- ULONG signals;
- struct
- {
- unsigned date :1;
- unsigned time :1;
- unsigned file :1;
- unsigned page :1;
- unsigned line :1;
- unsigned ffpage :1;
- unsigned ff :1;
- unsigned print :1;
- unsigned draft :1;
- unsigned lq :1;
- unsigned immediate :1;
- unsigned openwindow :1;
- unsigned display :1;
- unsigned sp_files :1;
- unsigned sp_reset :1;
- unsigned sp_window :1;
- unsigned sp_comment :1;
- unsigned sp_print :1;
- unsigned sp_start :1;
- unsigned sp_icon :1;
- unsigned sp_lines :1;
- unsigned icon :2;
- unsigned prog :2;
- unsigned pitch :2;
- unsigned cpi :2;
- }flags;
- ULONG BarHeight;
- UBYTE Headline[STR_SIZE];
- UBYTE Footline[STR_SIZE];
- UBYTE Statusline[STR_SIZE];
- UBYTE Insertline[STR_SIZE];
- APTR Special1;
- APTR Special2;
- APTR Special3;
- APTR Special4;
- struct ILBM_info ilbm;
- ULONG device;
- UBYTE FileReqDir[STR_SIZE];
- UBYTE SaveReqDir[STR_SIZE];
- UWORD fw,fh;
- };
-
- union wbstart
- {
- char **args;
- struct WBStartup *msg;
- };
-
-
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_main.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- /* protos */
- void main(int,union wbstart);
- long __regargs OpenLibs(struct prf_info *);
- void __regargs CloseLibs(struct prf_info *);
- void __regargs Prf_Reset(struct prf_info *);
- void __regargs SetPrfSignals(struct prf_info *);
- long __regargs HandleMsgs(struct prf_info *);
-
-
- /* vars */
- extern long _stack;
- extern char *_procname;
- extern long priority;
- extern long _BackGroundIO;
- extern BPTR _Backstdout;
- extern struct GfxBase *GfxBase;
- extern struct IntuitionBase *IntuitionBase;
- extern struct Library *WorkBenchBase;
- extern struct Library *GadToolsBase;
- extern struct Library *AslBase;
- extern struct Library *IconBase;
- extern struct RxsLib *RexxSysBase;
- extern struct TextAttr topaz8;
- extern char *dayname[];
- extern char *monthname[];
-
-
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_apphandler.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
-
- long __regargs OpenApp(struct prf_info *);
- void __regargs CloseApp(struct prf_info *);
- long __regargs HandleAmsg(struct prf_info *);
- void __regargs ChangeApp(struct prf_info *);
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_imsghandler.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
-
- long __regargs HandleImsg(struct prf_info *);
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_swd.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
-
- long __regargs OpenSwd(struct prf_info *);
- void __regargs CloseSwd(struct prf_info *);
- long __regargs OpenPwd(struct prf_info *);
- void __regargs ClosePwd(struct prf_info *);
- void __regargs RefreshSwd(struct prf_info *);
- void __regargs RefreshPwd(struct prf_info *);
-
- /* vars */
- extern struct TagItem SwdTags[];
- extern struct TagItem PwdTags[];
-
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_list.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
-
- void __regargs InsertName(struct prf_info *);
- void __regargs RemoveName(struct prf_info *);
- void __regargs AttachList(struct prf_info *);
- void __regargs DetachList(struct prf_info *);
-
-
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_docommand.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
-
- long __regargs DoCommand(struct prf_info *,long);
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_filereq.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
-
- void __regargs Prf_FileReq(struct prf_info *);
- void __regargs Prf_SavePrefs(struct prf_info *,UBYTE *);
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf.rexx.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
-
- long __regargs HandleRexxMsg(struct prf_info *);
- void __regargs AttemptOpenRexx(struct prf_info *);
- void __regargs CloseRexx(struct prf_info *);
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_print.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
- void __regargs PrintQueue(struct prf_info *);
- void __regargs PrintSettings(struct prf_info *, FILE *);
- long __regargs BuildStatusline(struct prf_info *,UBYTE *);
-
- /* vars */
- extern char *dayname[];
- extern char *monthname[];
-
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_gfx.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
-
- long __regargs PrintIconGfx(struct prf_info *,UBYTE *);
- long __regargs PrintGfxGfx(struct prf_info *,UBYTE *);
- long __regargs OpenPrinter(struct prf_info *);
- void __regargs ClosePrinter(struct prf_info *);
- void __regargs free_planes(struct prf_info *);
- long __regargs get_planes(struct prf_info *);
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf.info.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
-
- long __regargs PrintProgInfo(struct prf_info *,UBYTE *);
- long __regargs PrintIconInfo(struct prf_info *,UBYTE *);
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* prf_saveprefs.c */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* protos */
- void __regargs SavePreferences(struct prf_info *,UBYTE *);
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
-