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

Last change on this file since 25 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.