home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 19 Printer
/
19-Printer.zip
/
LAPRINT.ZIP
/
LAPRINT.H
< prev
next >
Wrap
C/C++ Source or Header
|
1991-01-23
|
11KB
|
298 lines
/* KNB Version 2.00 */
/************************************************************************
* *
* (c) Cray Research, Inc., 1991. All rights reserved. *
* *
* This program and/or module and all modifications made by Cray *
* Research, Inc., are the sole property of Cray Research, Inc., and *
* shall not be made available to or used by any person or persons *
* without the prior written permission of Cray Research, Inc. *
* *
* Programs and/or modules which are deemed in the public domain or *
* whose copyright is held by another legal entity other than Cray *
* Research, Inc., shall be deemed excluded from the above named *
* restrictions and protections. *
* *
* All changes made by Cray Research Inc which represent original *
* work, modifications, descriptions or ideas to the above excluded *
* programs and/or modules shall not be made available to or used by *
* any person or persons without the prior written permission of *
* Cray Research, Inc. *
* *
************************************************************************/
#define INCL_PM
#define INCL_DOSPROCESS
#include <os2.h>
#include "LAPRINT.rch"
#include <mt\stdio.h>
#include <mt\stdlib.h>
#include <mt\string.h>
#include <mt\ctype.h>
#include <mt\stddef.h>
#include <mt\process.h>
#define WM_FREE_MEM (WM_USER+0)
#define WM_FAILEDVALIDATE (WM_USER+1)
#define WM_USER_DEFINED_CODE (WM_USER+2)
#define ID_LOGO_TIMER 10
/* these structures are used to add the program name to the task list */
EXTERN HSWITCH hSwitch;
EXTERN SWCNTRL Swctl;
EXTERN HELPINIT hiLAPRINTHelp; /* Help initialization structure */
EXTERN HWND hWndLAPRINTHelp; /* Handle to Help window */
EXTERN CHAR *FPRINTObjStack;
EXTERN SEL FPRINTObjSel;
EXTERN CHAR *FSELECTDID_PRINTObjStack;
EXTERN SEL FSELECTDID_PRINTObjSel;
EXTERN CHAR *FQUERYREMOTEPRINTERObjStack;
EXTERN SEL FQUERYREMOTEPRINTERObjSel;
EXTERN CHAR szAppName[20]; /* class name of application */
EXTERN CHAR szFPRINTObjAppName[30]; /* class name of object window */
EXTERN CHAR szFSELECTDID_PRINTObjAppName[30]; /* class name of object window */
EXTERN CHAR szFQUERYREMOTEPRINTERObjAppName[30]; /* class name of object window */
EXTERN HAB hAB; /* Handle to the Anchor Block */
EXTERN HMQ hMQ; /* Handle to the Message Queue */
EXTERN HWND hWndFrame; /* Handle to the Window Frame */
EXTERN HWND hWndClient; /* Handle to the Client Window */
EXTERN HWND hWndFPRINTObject; /* Handle to an object window */
EXTERN HWND hWndFSELECTDID_PRINTObject; /* Handle to an object window */
EXTERN HWND hWndFQUERYREMOTEPRINTERObject; /* Handle to an object window */
EXTERN HWND hWndQUERYPRT;
/************************************************************************
* *
* Programmer added externals and associated defines. *
* *
************************************************************************/
EXTERN HWND hWndFSELECT;
EXTERN BOOL BgmPrintActive;
EXTERN INT BgmConfigNeedsSaving;
#define BGM_SAVE_THEN_EXIT 3
typedef struct
{
char szConfig_Directory[101];
char szConfig_Filename[101];
} CFGOPENStruct;
#define OFFSET_CFGOPEN 0
typedef struct
{
char szConfig_Directory[101];
char szConfig_Filename[101];
} CFGSAVEStruct;
#define OFFSET_CFGSAVE 1*sizeof(char FAR *)
typedef struct
{
char szSelected_Directory[101];
char szSelected_Filename[101];
} FSELECTStruct;
#define OFFSET_FSELECT 2*sizeof(char FAR *)
typedef struct
{
char szSelected_Printer_Name[25];
char szPrinter_List[128][129];
} SELPRTERStruct;
#define OFFSET_SELPRTER 3*sizeof(char FAR *)
typedef struct
{
char szAdd_Printer_Name[25];
char szAdd_Printer_Desc[104];
} PRTERADDStruct;
#define OFFSET_PRTERADD 4*sizeof(char FAR *)
typedef struct
{
char szDelete_Printer_Name[25];
} PRTERDELStruct;
#define OFFSET_PRTERDEL 5*sizeof(char FAR *)
typedef struct
{
char szChange_Printer_Name[25];
char szChange_Printer_Desc[104];
} PRTCHANGStruct;
#define OFFSET_PRTCHANG 6*sizeof(char FAR *)
typedef struct
{
char szSelected_Server_Name[25];
int ckServer_UNIX_Format[128];
char szServer_List[128][129];
int ckSelected_UNIX_Format;
} SELSERVStruct;
#define OFFSET_SELSERV 7*sizeof(char FAR *)
typedef struct
{
char szAdd_Server_Name[25];
char szAdd_Server_Desc[104];
} ADDSERVStruct;
#define OFFSET_ADDSERV 8*sizeof(char FAR *)
typedef struct
{
char szDelete_Server_Name[25];
} DELSERVStruct;
#define OFFSET_DELSERV 9*sizeof(char FAR *)
typedef struct
{
char szChange_Server_Name[25];
char szChange_Server_Desc[104];
} CHNGSERVStruct;
#define OFFSET_CHNGSERV 10*sizeof(char FAR *)
typedef struct
{
char szQuery_Remote_Printer_List[128][91];
} QUERYPRTStruct;
#define OFFSET_QUERYPRT 11*sizeof(char FAR *)
/************************************************************************
* *
* Programmer added structures. *
* *
************************************************************************/
typedef struct LOADRETURNStruct
{
int free_entry;
int last_entry;
int number_of_entries;
} LOADRETURNStruct;
/* Function prototypes */
VOID FAR FPRINTObjFunction(VOID);
VOID FAR FSELECTDID_PRINTObjFunction(VOID);
VOID FAR FQUERYREMOTEPRINTERObjFunction(VOID);
USHORT cwCheckPulldown(HWND, USHORT);
INT cwCenter(HWND, HWND);
INT cwEnableMenuItem(HWND, INT, INT);
INT cwFillFileListBox(HWND, PSZ, INT);
INT cwSetInitDlgStatus(HWND);
INT cwFreeDlgMemory(HWND);
void lmemset(void FAR *, CHAR, INT);
PSZ longstrcpy(PSZ, PSZ);
INT cwRegisterClass(VOID);
HWND cwCreateWindow(HWND, ULONG, PCH, PCH, USHORT, INT, INT, INT, INT, PHWND, ULONG, USHORT);
/* pointer for subclassing edit controls */
EXTERN PFNWP pfnEditWndProc;
/* define and prototypes for alpha validation of edit controls */
MRESULT EXPENTRY UDCharWndProc(HWND, USHORT, MPARAM, MPARAM);
INT cwAlphaValidate(char *);
INT cwFillDirListBox(HWND, USHORT, USHORT);
MRESULT EXPENTRY WndProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY FPRINTObjWndProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY FSELECTDID_PRINTObjWndProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY FQUERYREMOTEPRINTERObjWndProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY BGMABOUTMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY INITIALMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY CFGOPENMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY CFGSAVEMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY FSELECTMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY SELPRTERMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY PRTERADDMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY PRTERDELMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY PRTCHANGMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY SELSERVMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY ADDSERVMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY DELSERVMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY CHNGSERVMsgProc(HWND, USHORT, MPARAM, MPARAM);
MRESULT EXPENTRY QUERYPRTMsgProc(HWND, USHORT, MPARAM, MPARAM);
/************************************************************************
* *
* Define and prototypes for programmer added functions and *
* subroutines. *
* *
************************************************************************/
INT BgmNew(HWND,
BOOL,
BOOL,
BOOL,
BOOL,
BOOL,
BOOL,
BOOL,
BOOL,
BOOL,
BOOL,
BOOL,
BOOL);
INT BgmReadConfigFile(HWND);
INT BgmWriteConfigFile(HWND,
BOOL);
CHAR * BgmReadConfigLine(HWND,
CHAR *,
INT,
FILE *);
MRESULT EXPENTRY BgmLoadListBox(HWND,
USHORT,
CHAR[][129],
CHAR *,
BOOL);
INT BgmDeletePrtSrv(HWND,
USHORT,
USHORT,
CHAR[][129],
CHAR *,
CHAR *);
INT BgmAddPrtSrv(HWND,
USHORT,
USHORT,
CHAR[][129],
CHAR *,
CHAR *,
CHAR *);
INT BgmChangePrtSrv(HWND,
USHORT,
USHORT,
CHAR[][129],
CHAR *,
CHAR *,
CHAR *);
INT BgmPrint(HWND,
BOOL);
BOOL BgmWriteConfigLine(HWND,
BOOL,
char *,
char *,
FILE *);