This file is indexed.

/usr/include/allegro/platform/alunix.h is in liballegro4-dev 2:4.4.2-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
/*         ______   ___    ___ 
 *        /\  _  \ /\_ \  /\_ \ 
 *        \ \ \L\ \\//\ \ \//\ \      __     __   _ __   ___ 
 *         \ \  __ \ \ \ \  \ \ \   /'__`\ /'_ `\/\`'__\/ __`\
 *          \ \ \/\ \ \_\ \_ \_\ \_/\  __//\ \L\ \ \ \//\ \L\ \
 *           \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
 *            \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
 *                                           /\____/
 *                                           \_/__/
 *
 *      Unix-specific header defines.
 *
 *      By Michael Bukin.
 *
 *      See readme.txt for copyright information.
 */


#ifndef ALLEGRO_UNIX
   #error bad include
#endif


/* magic to capture name of executable file */
extern int    __crt0_argc;
extern char **__crt0_argv;

#ifdef ALLEGRO_WITH_MAGIC_MAIN

   #ifndef ALLEGRO_NO_MAGIC_MAIN
      #define ALLEGRO_MAGIC_MAIN
      #define main _mangled_main
      #undef END_OF_MAIN
      #define END_OF_MAIN() void *_mangled_main_address = (void*) _mangled_main;
   #else
      #undef END_OF_MAIN
      #define END_OF_MAIN() void *_mangled_main_address;
   #endif

#endif



/**************************************/
/************ General Unix ************/
/**************************************/

#define TIMERDRV_UNIX_PTHREADS	AL_ID('P','T','H','R')
#define TIMERDRV_UNIX_SIGALRM    AL_ID('A','L','R','M')


#ifdef ALLEGRO_HAVE_LIBPTHREAD
AL_VAR(TIMER_DRIVER, timerdrv_unix_pthreads);
#else
AL_VAR(TIMER_DRIVER, timerdrv_unix_sigalrm);
#endif



/************************************/
/*********** Sound drivers **********/
/************************************/

#define DIGI_OSS              AL_ID('O','S','S','D')
#define MIDI_OSS              AL_ID('O','S','S','M')
#define DIGI_ESD              AL_ID('E','S','D','D')
#define DIGI_ARTS             AL_ID('A','R','T','S')
#define DIGI_SGIAL            AL_ID('S','G','I','A')
#define DIGI_ALSA             AL_ID('A','L','S','A')
#define MIDI_ALSA             AL_ID('A','M','I','D')
#define DIGI_JACK             AL_ID('J','A','C','K')


#ifdef ALLEGRO_WITH_OSSDIGI
AL_VAR(DIGI_DRIVER, digi_oss);
#define DIGI_DRIVER_OSS                                          \
      {  DIGI_OSS,        &digi_oss,            TRUE  },
#endif /* ALLEGRO_WITH_OSSDIGI */

#ifdef ALLEGRO_WITH_OSSMIDI
AL_VAR(MIDI_DRIVER, midi_oss);
#define MIDI_DRIVER_OSS                                          \
      {  MIDI_OSS,        &midi_oss,            TRUE  },
#endif /* ALLEGRO_WITH_OSSMIDI */

#ifndef ALLEGRO_WITH_MODULES

#ifdef ALLEGRO_WITH_ESDDIGI
AL_VAR(DIGI_DRIVER, digi_esd);
#define DIGI_DRIVER_ESD                                          \
      {  DIGI_ESD,        &digi_esd,            TRUE  },
#endif /* ALLEGRO_WITH_ESDDIGI */

#ifdef ALLEGRO_WITH_ARTSDIGI
AL_VAR(DIGI_DRIVER, digi_arts);
#define DIGI_DRIVER_ARTS                                         \
      {  DIGI_ARTS,       &digi_arts,            TRUE  },
#endif /* ALLEGRO_WITH_ARTSDIGI */

#ifdef ALLEGRO_WITH_SGIALDIGI
AL_VAR(DIGI_DRIVER, digi_sgial);
#define DIGI_DRIVER_SGIAL                                        \
      {  DIGI_SGIAL,      &digi_sgial,          TRUE  },
#endif /* ALLEGRO_WITH_SGIALDIGI */

#ifdef ALLEGRO_WITH_ALSADIGI
AL_VAR(DIGI_DRIVER, digi_alsa);
#define DIGI_DRIVER_ALSA                                         \
      {  DIGI_ALSA,       &digi_alsa,           TRUE  },
#endif /* ALLEGRO_WITH_ALSADIGI */


#ifdef ALLEGRO_WITH_ALSAMIDI
AL_VAR(MIDI_DRIVER, midi_alsa);
#define MIDI_DRIVER_ALSA                                          \
      {  MIDI_ALSA,        &midi_alsa,            TRUE  },
#endif /* ALLEGRO_WITH_ALSAMIDI */

	  
#ifdef ALLEGRO_WITH_JACKDIGI
AL_VAR(DIGI_DRIVER, digi_jack);
#define DIGI_DRIVER_JACK                                         \
      {  DIGI_JACK,       &digi_jack,           TRUE  },
#endif /* ALLEGRO_WITH_JACKDIGI */

#endif



/************************************/
/************ X-specific ************/
/************************************/

#define SYSTEM_XWINDOWS          AL_ID('X','W','I','N')

#define KEYBOARD_XWINDOWS        AL_ID('X','W','I','N')
#define MOUSE_XWINDOWS           AL_ID('X','W','I','N')

#define GFX_XWINDOWS             AL_ID('X','W','I','N')
#define GFX_XWINDOWS_FULLSCREEN  AL_ID('X','W','F','S')
#define GFX_XDGA                 AL_ID('X','D','G','A')
#define GFX_XDGA_FULLSCREEN      AL_ID('X','D','F','S')
#define GFX_XDGA2                AL_ID('D','G','A','2')
#define GFX_XDGA2_SOFT           AL_ID('D','G','A','S')


#ifdef ALLEGRO_WITH_XWINDOWS
AL_VAR(SYSTEM_DRIVER, system_xwin);

#ifdef ALLEGRO_XWINDOWS_WITH_XF86DGA2
#ifndef ALLEGRO_WITH_MODULES
AL_VAR(GFX_DRIVER, gfx_xdga2);
AL_VAR(GFX_DRIVER, gfx_xdga2_soft);
#endif
#endif

#endif /* ALLEGRO_WITH_XWINDOWS */



/****************************************/
/************ Linux-specific ************/
/****************************************/

#define SYSTEM_LINUX             AL_ID('L','N','X','C')

#define GFX_VGA                  AL_ID('V','G','A',' ')
#define GFX_MODEX                AL_ID('M','O','D','X')
#define GFX_FBCON                AL_ID('F','B',' ',' ')
#define GFX_VBEAF                AL_ID('V','B','A','F')
#define GFX_SVGALIB              AL_ID('S','V','G','A')

#define KEYDRV_LINUX             AL_ID('L','N','X','C')

#define MOUSEDRV_LINUX_PS2       AL_ID('L','P','S','2')
#define MOUSEDRV_LINUX_IPS2      AL_ID('L','I','P','S')
#define MOUSEDRV_LINUX_GPMDATA   AL_ID('G','P','M','D')
#define MOUSEDRV_LINUX_MS        AL_ID('M','S',' ',' ')
#define MOUSEDRV_LINUX_IMS       AL_ID('I','M','S',' ')
#define MOUSEDRV_LINUX_EVDEV     AL_ID('E','V',' ',' ')

#define JOY_TYPE_LINUX_ANALOGUE  AL_ID('L','N','X','A')


#ifdef ALLEGRO_LINUX

AL_VAR(SYSTEM_DRIVER, system_linux);

#ifdef ALLEGRO_LINUX_VGA
   AL_VAR(GFX_DRIVER, gfx_vga);
   AL_VAR(GFX_DRIVER, gfx_modex);
   #define ALLEGRO_GFX_HAS_VGA
#endif

#ifndef ALLEGRO_WITH_MODULES

#ifdef ALLEGRO_LINUX_FBCON
   AL_VAR(GFX_DRIVER, gfx_fbcon);
#endif
#ifdef ALLEGRO_LINUX_SVGALIB
   AL_VAR(GFX_DRIVER, gfx_svgalib);
#endif

#endif

#ifdef ALLEGRO_LINUX_VBEAF
   AL_VAR(GFX_DRIVER, gfx_vbeaf);
   #define ALLEGRO_GFX_HAS_VBEAF
#endif

AL_VAR(MOUSE_DRIVER, mousedrv_linux_ps2);
AL_VAR(MOUSE_DRIVER, mousedrv_linux_ips2);
AL_VAR(MOUSE_DRIVER, mousedrv_linux_gpmdata);
AL_VAR(MOUSE_DRIVER, mousedrv_linux_ms);
AL_VAR(MOUSE_DRIVER, mousedrv_linux_ims);
AL_VAR(MOUSE_DRIVER, mousedrv_linux_evdev);

AL_FUNC_DEPRECATED(void, split_modex_screen, (int lyne));


/* Port I/O functions -- maybe these should be internal */

#ifdef ALLEGRO_LINUX_VGA

#ifdef __cplusplus
extern "C" {
#endif

static INLINE void outportb(unsigned short port, unsigned char value)
{
   __asm__ volatile ("outb %0, %1" : : "a" (value), "d" (port));
}

static INLINE void outportw(unsigned short port, unsigned short value)
{
   __asm__ volatile ("outw %0, %1" : : "a" (value), "d" (port));
}

static INLINE void outportl(unsigned short port, unsigned long value)
{
   __asm__ volatile ("outl %0, %1" : : "a" (value), "d" (port));
}

static INLINE unsigned char inportb(unsigned short port)
{
   unsigned char value;
   __asm__ volatile ("inb %1, %0" : "=a" (value) : "d" (port));
   return value;
}

static INLINE unsigned short inportw(unsigned short port)
{
   unsigned short value;
   __asm__ volatile ("inw %1, %0" : "=a" (value) : "d" (port));
   return value;
}

static INLINE unsigned long inportl(unsigned short port)
{
   unsigned long value;
   __asm__ volatile ("inl %1, %0" : "=a" (value) : "d" (port));
   return value;
}

#ifdef __cplusplus
}
#endif

#endif /* ALLEGRO_LINUX_VGA */


#endif /* ALLEGRO_LINUX */