home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_progs
/
prt_util
/
printfls.lha
/
Source.lha
/
Source
/
prf.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-06-16
|
17KB
|
510 lines
/* 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 *);
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */