ReactOS 0.4.15-dev-7705-g2320c37
d3dxof_private.h
Go to the documentation of this file.
1/*
2 * DirectX File private interfaces (D3DXOF.DLL)
3 *
4 * Copyright 2004, 2008 Christian Costa
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21#ifndef __D3DXOF_PRIVATE_INCLUDED__
22#define __D3DXOF_PRIVATE_INCLUDED__
23
24#include <stdarg.h>
25
26#include "windef.h"
27#include "winbase.h"
28#include "wtypes.h"
29#include "wingdi.h"
30#include "winuser.h"
31#include "dxfile.h"
32
33#define MAX_NAME_LEN 40
34#define MAX_ARRAY_DIM 4
35#define MAX_MEMBERS 50
36#define MAX_CHILDREN 200
37#define MAX_TEMPLATES 200
38#define MAX_OBJECTS 500
39#define MAX_SUBOBJECTS 2000
40#define MAX_STRINGS_BUFFER 10000
41
42typedef struct {
47 BOOL dim_fixed[MAX_ARRAY_DIM]; /* fixed or variable */
48 ULONG dim_value[MAX_ARRAY_DIM]; /* fixed value or member index */
49} member;
50
51typedef struct {
57 char children[MAX_CHILDREN][MAX_NAME_LEN];
60} xtemplate;
61
62typedef struct {
63 char* name;
67
68struct _xobject {
82 struct _xobject * root;
83};
84
85typedef struct _xobject xobject;
86
87typedef struct {
88 IDirectXFile IDirectXFile_iface;
93
94typedef struct {
95 IDirectXFileBinary IDirectXFileBinary_iface;
98
99typedef struct {
100 IDirectXFileData IDirectXFileData_iface;
108
109typedef struct {
110 IDirectXFileDataReference IDirectXFileDataReference_iface;
114
115typedef struct {
116 IDirectXFileObject IDirectXFileObject_iface;
119
120typedef struct {
121 /* Buffer to parse */
124 /* Misc info */
145
146typedef struct {
147 IDirectXFileEnumObject IDirectXFileEnumObject_iface;
155 IDirectXFileData* pRefObjects[MAX_OBJECTS];
157
158typedef struct {
159 IDirectXFileSaveObject IDirectXFileSaveObject_iface;
162
164
168
169int mszip_decompress(int inlen, int outlen, char* inbuffer, char* outbuffer) DECLSPEC_HIDDEN;
170
171#endif /* __D3DXOF_PRIVATE_INCLUDED__ */
#define MAX_TEMPLATES
BOOL parse_templates(parse_buffer *buf, BOOL templates_only) DECLSPEC_HIDDEN
Definition: parsing.c:1098
#define MAX_SUBOBJECTS
HRESULT parse_header(parse_buffer *buf, BYTE **decomp_buffer_ptr) DECLSPEC_HIDDEN
Definition: parsing.c:184
int mszip_decompress(int inlen, int outlen, char *inbuffer, char *outbuffer) DECLSPEC_HIDDEN
BOOL parse_object(parse_buffer *buf) DECLSPEC_HIDDEN
Definition: parsing.c:1379
HRESULT IDirectXFileImpl_Create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
Definition: d3dxof.c:50
#define MAX_CHILDREN
#define MAX_ARRAY_DIM
#define MAX_OBJECTS
#define MAX_MEMBERS
#define MAX_NAME_LEN
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
const unsigned char * inbuffer
Definition: jpeglib.h:983
long LONG
Definition: pedump.c:60
IDirectXFileBinary IDirectXFileBinary_iface
IDirectXFileData IDirectXFileData_iface
IDirectXFileDataReference IDirectXFileDataReference_iface
IDirectXFileEnumObject IDirectXFileEnumObject_iface
IDirectXFileImpl * pDirectXFile
IDirectXFile IDirectXFile_iface
IDirectXFileObject IDirectXFileObject_iface
IDirectXFileSaveObject IDirectXFileSaveObject_iface
GUID class_id
ULONG pos_data
ULONG nb_subobjects
ULONG nb_members
xobject_member members[MAX_MEMBERS]
DWORD size
struct _xobject * ptarget
LPBYTE pdata
struct _xobject * children[MAX_CHILDREN]
struct _xobject * root
ULONG nb_children
ULONG nb_dims
LONG idx_template
DWORD type
Definition: name.c:39
xobject * pxo
IDirectXFileImpl * pdxf
LPBYTE cur_pstrings
ULONG nb_pxo_globals
DWORD list_nb_elements
xobject * pxo_tab
xobject ** pxo_globals
ULONG nb_members
ULONG nb_children
unsigned char * LPBYTE
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
Definition: pdh_main.c:94
unsigned char BYTE
Definition: xxhash.c:193