Documented GVF_SAVE_VAR alongside other flags, and removed a query/doubt
[AROS.git] / rom / usb / classes / printer / printer.h
blob300751b60a88d1badd2d7402645c0fe4e5382ba5
1 #ifndef PRINTER_H
2 #define PRINTER_H
4 #include <intuition/intuition.h>
5 #include <intuition/intuitionbase.h>
6 #include <libraries/mui.h>
7 #include <libraries/gadtools.h>
8 #include <exec/devices.h>
10 #define ID_ABOUT 0x55555555
11 #define ID_STORE_CONFIG 0xaaaaaaaa
13 struct ClsGlobalCfg
15 ULONG cgc_ChunkID;
16 ULONG cgc_Length;
17 ULONG cgc_EpsonInit;
18 ULONG cgc_SoftReset;
21 struct NepPrinterBase
23 struct Library nh_Library; /* standard */
24 UWORD nh_Flags; /* various flags */
26 struct Library *nh_UtilityBase; /* utility base */
28 struct NepPrtDevBase *nh_DevBase; /* base of device created */
29 struct List nh_Units; /* List of units available */
31 struct Library *nh_MUIBase; /* MUI master base */
32 struct Library *nh_PsdBase; /* Poseidon base */
33 struct Library *nh_IntBase; /* Intuition base */
34 struct Task *nh_GUITask; /* GUI Task */
36 BOOL nh_UsingDefaultCfg;
37 struct ClsGlobalCfg nh_CurrentCGC;
39 Object *nh_App;
40 Object *nh_MainWindow;
41 Object *nh_EpsonInitObj;
42 Object *nh_SoftResetObj;
43 Object *nh_UseObj;
44 Object *nh_CloseObj;
46 Object *nh_AboutMI;
47 Object *nh_UseMI;
48 Object *nh_MUIPrefsMI;
51 struct NepPrtDevBase
53 struct Library np_Library; /* standard */
54 UWORD np_Flags; /* various flags */
56 BPTR np_SegList; /* device seglist */
57 struct NepPrinterBase *np_ClsBase; /* pointer to class base */
58 struct Library *np_UtilityBase; /* cached utilitybase */
61 struct NepClassPrinter
63 struct Unit ncp_Unit; /* Unit structure */
64 ULONG ncp_UnitNo; /* Unit number */
65 struct NepPrinterBase *ncp_ClsBase; /* Up linkage */
66 struct NepPrtDevBase *ncp_DevBase; /* Device base */
67 struct Library *ncp_Base; /* Poseidon base */
68 struct PsdDevice *ncp_Device; /* Up linkage */
69 struct PsdConfig *ncp_Config; /* Up linkage */
70 struct PsdInterface *ncp_Interface; /* Up linkage */
71 struct Task *ncp_ReadySigTask; /* Task to send ready signal to */
72 LONG ncp_ReadySignal; /* Signal to send when ready */
73 LONG ncp_AbortSignal; /* Signal to send to abort a write request */
75 struct Task *ncp_Task; /* Subtask */
76 struct MsgPort *ncp_TaskMsgPort; /* Message Port of Subtask */
78 struct PsdPipe *ncp_EP0Pipe; /* Endpoint 0 pipe */
79 struct PsdEndpoint *ncp_EPOut; /* Endpoint 1 */
80 struct PsdPipeStream *ncp_EPOutStream; /* Endpoint 1 pipe */
81 struct PsdEndpoint *ncp_EPIn; /* Endpoint 2 */
82 struct PsdPipeStream *ncp_EPInStream; /* Endpoint 2 pipe */
83 struct MsgPort *ncp_DevMsgPort; /* Message Port for IOParReq */
84 UWORD ncp_UnitProdID; /* ProductID of unit */
85 UWORD ncp_UnitVendorID; /* VendorID of unit */
86 UWORD ncp_UnitCfgNum; /* Config of unit */
87 UWORD ncp_UnitIfNum; /* Interface number */
88 UWORD ncp_UnitAltIfNum; /* Alternate interface number */
89 BOOL ncp_FlushBuffer; /* Flush last buffer */
90 BOOL ncp_DevSuspend; /* Suspend printing */
91 BOOL ncp_DenyRequests; /* Do not accept further IO requests */
92 struct IOExtPar *ncp_WritePending; /* Write request pending */
93 struct List ncp_ReadQueue; /* List of read requests */
94 struct List ncp_WriteQueue; /* List of write requests */
97 #endif /* PRINTER_H */