On i386-darwin, some POSIX conformant versions of functions have a
[AROS.git] / workbench / system / Snoopy / patches.h
blob950257df24881209beecf979608eb0f59b4227ee
1 /*
2 Copyright © 2006, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef PATCHES_H
7 #define PATCHES_H
9 void patches_init(void);
10 void patches_set(void);
11 void patches_reset(void);
13 char *MyNameFromLock(BPTR lock, char *filename, char *buf, int maxlen);
14 void GetVolName(BPTR lock, char *buf, int maxlen);
16 enum {LIB_Dos, LIB_Exec, LIB_Icon, LIB_Intuition, LIB_Graphics, LIB_last};
18 enum {
19 PATCH_CreateDir,
20 PATCH_CurrentDir,
21 PATCH_DeleteFile,
22 PATCH_DeleteVar,
23 PATCH_Execute,
24 PATCH_FindVar,
25 PATCH_GetVar,
26 PATCH_LoadSeg,
27 PATCH_Lock,
28 PATCH_MakeLink,
29 PATCH_NewLoadSeg,
30 PATCH_Open,
31 PATCH_Rename,
32 PATCH_RunCommand,
33 PATCH_SetVar,
34 PATCH_SystemTagList,
35 PATCH_FindPort,
36 PATCH_FindResident,
37 PATCH_FindSemaphore,
38 PATCH_FindTask,
39 PATCH_OpenDevice,
40 PATCH_OpenLibrary,
41 PATCH_OpenResource,
42 PATCH_LockPubScreen,
43 PATCH_OpenFont,
44 PATCH_FindToolType,
45 PATCH_MatchToolValue,
46 PATCH_last
50 * Macro (courtesy of Doug Walker) used to allocate longword-aligned
51 * data on the stack. We can't use __aligned inside our patches
52 * because the caller may not have a longword-aligned stack.
54 #define D_S(name, type) char c_##name[sizeof(type)+3]; \
55 type *name = (type *)((long)(c_##name+3) & ~3)
57 #endif