Restructure how we look for Read files slightly.
[fvwm.git] / libs / FShm.h
bloba119c1dd70aa01c4071883d66dc093aeeeef03c1
1 /* -*-c-*- */
3 #ifndef FSHM_H
4 #define FSHM_H
6 /* ---------------------------- included header files ---------------------- */
8 #include "config.h"
10 #ifdef HAVE_XSHM
11 #define XShmSupport 1
12 #else
13 #define XShmSupport 0
14 #endif
16 #if XShmSupport
17 #include <sys/ipc.h>
18 #include <sys/shm.h>
19 #include <X11/extensions/XShm.h>
20 #endif
22 /* ---------------------------- global definitions ------------------------- */
24 /* ---------------------------- global macros ------------------------------ */
26 /* ---------------------------- type definitions --------------------------- */
28 #if XShmSupport
30 /* XShm */
31 typedef ShmSeg FShmSeg;
32 typedef XShmSegmentInfo FShmSegmentInfo;
34 #define FShmAttach XShmAttach
35 #define FShmDetach XShmDetach
36 #define FShmPutImage XShmPutImage
37 #define FShmGetImage XShmGetImage
38 #define FShmCreateImage XShmCreateImage
40 /* shm */
41 #define Fshmget shmget
42 #define Fshmat shmat
43 #define Fshmdt shmdt
44 #define Fshmctl shmctl
45 #define Fshmget shmget
47 #else
49 /* XShm */
50 typedef unsigned long FhmSeg;
51 typedef struct {
52 FhmSeg shmseg;
53 int shmid;
54 char *shmaddr;
55 Bool readOnly;
56 } FShmSegmentInfo;
58 #define FShmAttach(a, b) 0
59 #define FShmDetach(a, b) 0
60 #define FShmPutImage(a, b, c, d, e, f, g, h, i, j, k) 0
61 #define FShmGetImage(a, b, c, d, e, f) 0
62 #define FShmCreateImage(a, b, c, d, e, f, g, h) NULL
64 /* shm */
65 #define Fshmget(a, b, c) 0
66 #define Fshmat(a, b, c) NULL;
67 #define Fshmdt(a)
68 #define Fshmctl(a, b, c)
70 #endif
72 #endif /* FSHM_H */