Storing an IP address in a signed int results in bugs if it starts
[wine] / dlls / avifil32 / avifile_private.h
1 #ifndef __WINE_AVIFILE_PRIVATE_H
2 #define __WINE_AVIFILE_PRIVATE_H
3
4 typedef struct
5 {
6         HANDLE  hHeap;
7         DWORD   dwAVIFileRef;
8         DWORD   dwClassObjRef;
9         BOOL    fInitCOM;
10 } WINE_AVIFILE_DATA;
11
12 extern WINE_AVIFILE_DATA        AVIFILE_data;
13
14 INT AVIFILE_strlenAtoW( LPCSTR lpstr );
15 INT AVIFILE_strlenWtoA( LPCWSTR lpwstr );
16 LPWSTR AVIFILE_strncpyAtoW( LPWSTR lpwstr, LPCSTR lpstr, INT wbuflen );
17 LPSTR AVIFILE_strncpyWtoA( LPSTR lpstr, LPCWSTR lpwstr, INT abuflen );
18 LPWSTR AVIFILE_strdupAtoW( LPCSTR lpstr );
19 LPSTR AVIFILE_strdupWtoA( LPCWSTR lpwstr );
20
21 HRESULT WINAPI AVIFILE_DllGetClassObject(const CLSID* pclsid,const IID* piid,void** ppv);
22
23 HRESULT AVIFILE_CreateIAVIFile(void** ppobj);
24 HRESULT AVIFILE_IAVIFile_Open( PAVIFILE paf, LPCWSTR szFile, UINT uMode );
25 HRESULT AVIFILE_IAVIFile_GetIndexTable( PAVIFILE paf, DWORD dwStreamIndex,
26                                         AVIINDEXENTRY** ppIndexEntry,
27                                         DWORD* pdwCountOfIndexEntry );
28 HRESULT AVIFILE_IAVIFile_ReadMovieData( PAVIFILE paf, DWORD dwOffset,
29                                         DWORD dwLength, LPVOID lpvBuf );
30
31 HRESULT AVIFILE_CreateIAVIStream(void** ppobj);
32
33 HRESULT AVIFILE_CreateIGetFrame(void** ppobj,
34                                 IAVIStream* pstr,LPBITMAPINFOHEADER lpbi);
35
36
37 typedef struct
38 {
39         DWORD   dwStreamIndex;
40         AVIStreamHeader*        pstrhdr;
41         BYTE*   pbFmt;
42         DWORD   dwFmtLen;
43 } WINE_AVISTREAM_DATA;
44
45 WINE_AVISTREAM_DATA* AVIFILE_Alloc_IAVIStreamData( DWORD dwFmtLen );
46 void AVIFILE_Free_IAVIStreamData( WINE_AVISTREAM_DATA* pData );
47
48 /* this should be moved to vfw.h */
49 #ifndef FIND_DIR
50 #define FIND_DIR        0x0000000FL
51 #define FIND_NEXT       0x00000001L
52 #define FIND_PREV       0x00000004L
53 #define FIND_FROM_START 0x00000008L
54
55 #define FIND_TYPE       0x000000F0L
56 #define FIND_KEY        0x00000010L
57 #define FIND_ANY        0x00000020L
58 #define FIND_FORMAT     0x00000040L
59
60 #define FIND_RET        0x0000F000L
61 #define FIND_POS        0x00000000L
62 #define FIND_LENGTH     0x00001000L
63 #define FIND_OFFSET     0x00002000L
64 #define FIND_SIZE       0x00003000L
65 #define FIND_INDEX      0x00004000L
66 #endif
67
68 #endif  /* __WINE_AVIFILE_PRIVATE_H */