Release 970329
[wine/multimedia.git] / include / resource.h
blob02a6dd4b718042be47b7b4a47e921ce7fd59ba51
1 /*
2 * Resource definitions
4 * Copyright 1995 Alexandre Julliard
5 */
7 #ifndef __WINE_RESOURCE_H
8 #define __WINE_RESOURCE_H
10 #include "windows.h"
12 struct resource
14 int id;
15 int type;
16 const char *name;
17 const unsigned char* bytes;
18 unsigned size;
21 /* Built-in resources */
22 typedef enum
24 SYSRES_MENU_SYSMENU,
25 SYSRES_MENU_EDITMENU,
26 SYSRES_DIALOG_MSGBOX,
27 SYSRES_DIALOG_SHELL_ABOUT_MSGBOX,
28 SYSRES_DIALOG_OPEN_FILE,
29 SYSRES_DIALOG_SAVE_FILE,
30 SYSRES_DIALOG_PRINT,
31 SYSRES_DIALOG_PRINT_SETUP,
32 SYSRES_DIALOG_CHOOSE_FONT,
33 SYSRES_DIALOG_CHOOSE_COLOR,
34 SYSRES_DIALOG_FIND_TEXT,
35 SYSRES_DIALOG_REPLACE_TEXT
36 } SYSTEM_RESOURCE;
38 extern void LIBRES_RegisterResources(const struct resource* const * Res);
40 #if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)
41 #define WINE_CONSTRUCTOR __attribute__((constructor))
42 #define HAVE_WINE_CONSTRUCTOR
43 #else
44 #define WINE_CONSTRUCTOR
45 #endif
47 extern int NE_AccessResource( HMODULE16 hModule, HRSRC16 hRsrc );
48 extern BOOL32 NE_FreeResource( HMODULE16 hModule, HGLOBAL16 handle );
49 extern HRSRC16 NE_FindResource(HMODULE16 hModule, SEGPTR typeId, SEGPTR resId);
50 extern DWORD NE_SizeofResource( HMODULE16 hModule, HRSRC16 hRsrc );
51 extern SEGPTR NE_LockResource( HMODULE16 hModule, HGLOBAL16 handle );
52 extern HGLOBAL16 NE_AllocResource( HMODULE16 hModule, HRSRC16 hRsrc,
53 DWORD size );
54 extern HGLOBAL16 NE_LoadResource( HMODULE16 hModule, HRSRC16 hRsrc );
56 extern HGLOBAL16 SYSRES_LoadResource( SYSTEM_RESOURCE id );
57 extern void SYSRES_FreeResource( HGLOBAL16 handle );
58 extern LPCVOID SYSRES_GetResPtr( SYSTEM_RESOURCE id );
60 #endif /* __WINE_RESOURCE_H */