Release 960717
[wine/multimedia.git] / include / resource.h
blob7f202c0efe8aafde9f8f0dbdaaade5a4f713d53b
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_DIALOG_MSGBOX,
26 SYSRES_DIALOG_SHELL_ABOUT_MSGBOX,
27 SYSRES_DIALOG_OPEN_FILE,
28 SYSRES_DIALOG_SAVE_FILE,
29 SYSRES_DIALOG_PRINT,
30 SYSRES_DIALOG_PRINT_SETUP,
31 SYSRES_DIALOG_CHOOSE_FONT,
32 SYSRES_DIALOG_CHOOSE_COLOR,
33 SYSRES_DIALOG_FIND_TEXT,
34 SYSRES_DIALOG_REPLACE_TEXT
35 } SYSTEM_RESOURCE;
37 extern void LIBRES_RegisterResources(const struct resource* const * Res);
39 #if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)
40 #define WINE_CONSTRUCTOR __attribute__((constructor))
41 #define HAVE_WINE_CONSTRUCTOR
42 #else
43 #define WINE_CONSTRUCTOR
44 #endif
46 extern int NE_AccessResource( HMODULE16 hModule, HRSRC hRsrc );
47 extern BOOL NE_FreeResource( HMODULE16 hModule, HGLOBAL handle );
48 extern HRSRC NE_FindResource( HMODULE16 hModule, SEGPTR typeId, SEGPTR resId );
49 extern DWORD NE_SizeofResource( HMODULE16 hModule, HRSRC hRsrc );
50 extern SEGPTR NE_LockResource( HMODULE16 hModule, HGLOBAL handle );
51 extern HGLOBAL NE_AllocResource( HMODULE16 hModule, HRSRC hRsrc, DWORD size );
52 extern HGLOBAL NE_LoadResource( HMODULE16 hModule, HRSRC hRsrc );
54 extern HANDLE SYSRES_LoadResource( SYSTEM_RESOURCE id );
55 extern void SYSRES_FreeResource( HANDLE handle );
57 #endif /* __WINE_RESOURCE_H */