source: trunk/pin/include/package.h@ 2

Last change on this file since 2 was 1, checked in by bart, 18 years ago

Initial checkin of PIN.EXE source code
this contains memory fixes for larger PPD files

File size: 3.3 KB
Line 
1/*DDK*************************************************************************/
2/* */
3/* COPYRIGHT Copyright (C) 1991, 2003 IBM Corporation */
4/* */
5/* The following IBM OS/2 source code is provided to you solely for */
6/* the purpose of assisting you in your development of OS/2 device */
7/* drivers. You may use this code in accordance with the IBM License */
8/* Agreement provided in the IBM Developer Connection Device Driver */
9/* Source Kit for OS/2. This Copyright statement may not be removed. */
10/* */
11/*****************************************************************************/
12/**************************************************************************
13 *
14 * SOURCE FILE NAME = package.h
15 *
16 * DESCRIPTIVE NAME = package format definitions
17 *
18 *
19 * VERSION = V2.0
20 *
21 * DATE
22 *
23 * DESCRIPTION : declarations of PAK structures, manipulation functions
24 *
25 * FUNCTIONS
26 *
27 * NOTES
28 *
29 * STRUCTURES
30 *
31 * EXTERNAL REFERENCES
32 *
33 * EXTERNAL FUNCTIONS
34 *
35*/
36#pragma pack(1)
37#ifndef package_h_
38#define package_h_
39
40//
41// IMPORTANT!
42// Do not modify existing package formats.
43// Only add new, only if you really really need to.
44//
45
46
47
48//
49// PAK file Header structure . This structure contains PPB file identifier
50// Table size and number of entries in the PPB file .
51//
52
53typedef struct _PAKSIGNATURE
54{
55 CHAR szName[40];
56 ULONG ulCRC; // not used in V1. should check integrity of entry directory, at least.
57 SHORT iTblSize;
58 SHORT iEntries;
59 CHAR free[4];
60} PAKSIGNATURE, *PPAKSIGNATURE;
61
62//
63// Various signatures we that are out there
64//
65
66#define PAKSIGNATURE_DEVPACK_V1 "IBM DDPAK V1.0"
67#define PAKSIGNATURE_FONTPACK_V1 "IBM FONTS V1.0"
68
69//
70// These are names of packages that driver recognizes
71// Must be consistent with makefile and PIN hardwired values
72//
73#define PAKNAME_IBMDEV_PACK "printer1.pak"
74#define PAKNAME_AUXDEV_PACK "auxprint.pak"
75
76#define PAKNAME_IBMFONT_PACK "font1.pak"
77#define PAKNAME_AUXFONT_PACK "auxfont.pak"
78
79//
80// Various directory entry types (indicated by PAKSIGNATURE)
81//
82
83// printer device package
84typedef struct _PAK_DEV_DIRENTRY
85{
86 CHAR szDeviceName[40];
87 ULONG ulOffset;
88 ULONG ulSize;
89 ULONG ulFlags;
90 CHAR free[4];
91} PAK_DEV_DIRENTRY, *PPAK_DEV_DIRENTRY;
92
93
94// device font package
95typedef struct _PAK_FONT_DIRENTRY
96{
97 CHAR szFontName[40];
98 CHAR szFontFullName[40];
99 ULONG ulOffset;
100 ULONG ulSize;
101 ULONG ulFlags;
102 CHAR free[4];
103} PAK_FONT_DIRENTRY, *PPAK_FONT_DIRENTRY;
104
105
106//
107// Functions
108//
109PBYTE LoadPakDirectory( PVOID pHeap, PSZ pszPakFile, PSZ pszExpectedSignature, ULONG ulSegmentSize );
110
111PPAK_FONT_DIRENTRY GetFontDirEntry( PSZ pszFontName, PBYTE pDirectoryMem );
112PPAK_FONT_DIRENTRY GetFontDirEntryByFullName( PSZ pszFontFullName, PBYTE pDirectoryMem );
113PPAK_DEV_DIRENTRY GetDeviceDirEntry( PSZ pszDeviceName, PBYTE pDirectoryMem);
114
115PBYTE LoadPakDeviceSegment ( PVOID pHeap, PSZ pszPakFile, PBYTE pDirectoryMem, PSZ pszDeviceName);
116PBYTE LoadPakFontSegment ( PVOID pHeap, PSZ pszPakFile, PBYTE pDirectoryMem, PSZ pszFontName);
117
118
119#endif
Note: See TracBrowser for help on using the repository browser.