1 /****************************************************************************** 2 / 3 / File: BeBuild.h 4 / 5 / Description: Import/export macros 6 / 7 / Copyright 1993-98, Be Incorporated 8 / 9 *******************************************************************************/ 10 11 #ifndef _BE_BUILD_H 12 #define _BE_BUILD_H 13 14 #define B_BEOS_VERSION_4 0x0400 15 #define B_BEOS_VERSION_4_5 0x0450 16 #define B_BEOS_VERSION_5 0x0500 17 18 #define B_BEOS_VERSION B_BEOS_VERSION_5 19 #define B_BEOS_VERSION_MAUI B_BEOS_VERSION_5 20 21 #if defined(__POWERPC__) 22 // the PowerPC build is using GCC now (BeOS R5 used to use the Metrowerks 23 // compiler), so it is not compatible to any BeOS version on that platform 24 // before. However, that wouldn't rule out source compatibility, which 25 // we do here (for now). 26 #define _PR2_COMPATIBLE_ 0 27 #define _PR3_COMPATIBLE_ 0 28 #define _R4_COMPATIBLE_ 0 29 #define _R4_5_COMPATIBLE_ 0 30 #elif defined(__INTEL__) 31 #define _PR2_COMPATIBLE_ 0 32 #define _PR3_COMPATIBLE_ 0 33 #define _R4_COMPATIBLE_ 1 34 #define _R4_5_COMPATIBLE_ 1 35 #else 36 # error Configure BeBuild.h for your platform 37 #endif 38 39 #if __MWERKS__ 40 # define _UNUSED(x) 41 # define _PACKED 42 #endif 43 44 #if __GNUC__ 45 # define _UNUSED(x) x 46 # define _PACKED __attribute__((packed)) 47 #endif 48 49 #if defined(__INTEL__) || defined(__POWERPC__) 50 51 // This is the standard import/export definitions used for 52 // the ELF binary format - this should be usable by all flavors 53 // of OpenBeOS. 54 55 # define _EXPORT 56 # define _IMPORT 57 58 # define _IMPEXP_KERNEL 59 # define _IMPEXP_GL 60 # define _IMPEXP_ROOT 61 # define _IMPEXP_NET 62 # define _IMPEXP_NETDEV 63 # define _IMPEXP_ATALK 64 # define _IMPEXP_BE 65 # define _IMPEXP_TRACKER 66 # define _IMPEXP_MAIL 67 # define _IMPEXP_DEVICE 68 # define _IMPEXP_MEDIA 69 # define _IMPEXP_MIDI 70 # define _IMPEXP_MIDI2 71 # define _IMPEXP_GAME 72 # define _IMPEXP_GSOUND 73 # define _IMPEXP_TRANSLATION 74 # define _IMPEXP_TEXTENCODING 75 # define _IMPEXP_INPUT 76 #endif 77 78 79 #ifdef __cplusplus 80 81 /* cpp kit */ 82 83 /* support kit */ 84 class _IMPEXP_BE BArchivable; 85 class _IMPEXP_BE BAutolock; 86 class _IMPEXP_BE BBlockCache; 87 class _IMPEXP_BE BBufferIO; 88 class _IMPEXP_BE BDataIO; 89 class _IMPEXP_BE BPositionIO; 90 class _IMPEXP_BE BMallocIO; 91 class _IMPEXP_BE BMemoryIO; 92 class _IMPEXP_BE BFlattenable; 93 class _IMPEXP_BE BList; 94 class _IMPEXP_BE BLocker; 95 class _IMPEXP_BE BStopWatch; 96 class _IMPEXP_BE BString; 97 98 class _IMPEXP_BE PointerList; 99 100 /*storage kit */ 101 struct _IMPEXP_BE entry_ref; 102 struct _IMPEXP_BE node_ref; 103 class _IMPEXP_BE BAppFileInfo; 104 class _IMPEXP_BE BDirectory; 105 class _IMPEXP_BE BEntry; 106 class _IMPEXP_BE BFile; 107 class _IMPEXP_BE BRefFilter; 108 class _IMPEXP_BE BMimeType; 109 class _IMPEXP_BE BNode; 110 class _IMPEXP_BE BNodeInfo; 111 class _IMPEXP_BE BPath; 112 class _IMPEXP_BE BQuery; 113 class _IMPEXP_BE BResources; 114 class _IMPEXP_BE BResourceStrings; 115 class _IMPEXP_BE BStatable; 116 class _IMPEXP_BE BSymLink; 117 class _IMPEXP_BE BVolume; 118 class _IMPEXP_BE BVolumeRoster; 119 120 //class _IMPEXP_BE Partition; 121 //class _IMPEXP_BE Session; 122 //class _IMPEXP_BE Device; 123 //class _IMPEXP_BE DeviceList; 124 //class _IMPEXP_BE TNodeWalker; 125 //class _IMPEXP_BE TQueryWalker; 126 //class _IMPEXP_BE TVolWalker; 127 128 /*app kit */ 129 struct _IMPEXP_BE app_info; 130 class _IMPEXP_BE BApplication; 131 class _IMPEXP_BE BClipboard; 132 class _IMPEXP_BE BHandler; 133 class _IMPEXP_BE BInvoker; 134 class _IMPEXP_BE BLooper; 135 class _IMPEXP_BE BMessage; 136 class _IMPEXP_BE BMessageFilter; 137 class _IMPEXP_BE BMessageQueue; 138 class _IMPEXP_BE BMessageRunner; 139 class _IMPEXP_BE BMessenger; 140 class _IMPEXP_BE BPropertyInfo; 141 class _IMPEXP_BE BRoster; 142 143 class _IMPEXP_BE _BAppServerLink_; 144 class _IMPEXP_BE _BSession_; 145 146 /*interface kit */ 147 class _IMPEXP_BE BAlert; 148 class _IMPEXP_BE BBitmap; 149 class _IMPEXP_BE BBox; 150 class _IMPEXP_BE BButton; 151 class _IMPEXP_BE BChannelControl; 152 class _IMPEXP_BE BChannelSlider; 153 class _IMPEXP_BE BCheckBox; 154 class _IMPEXP_BE BColorControl; 155 class _IMPEXP_BE BControl; 156 class _IMPEXP_BE BDeskbar; 157 class _IMPEXP_BE BDragger; 158 class _IMPEXP_BE BFont; 159 class _IMPEXP_BE BInputDevice; 160 class _IMPEXP_BE BListItem; 161 class _IMPEXP_BE BListView; 162 class _IMPEXP_BE BStringItem; 163 class _IMPEXP_BE BMenu; 164 class _IMPEXP_BE BMenuBar; 165 class _IMPEXP_BE BMenuField; 166 class _IMPEXP_BE BMenuItem; 167 class _IMPEXP_BE BOptionControl; 168 class _IMPEXP_BE BOptionPopUp; 169 class _IMPEXP_BE BOutlineListView; 170 class _IMPEXP_BE BPicture; 171 class _IMPEXP_BE BPictureButton; 172 class _IMPEXP_BE BPoint; 173 class _IMPEXP_BE BPolygon; 174 class _IMPEXP_BE BPopUpMenu; 175 class _IMPEXP_BE BPrintJob; 176 class _IMPEXP_BE BRadioButton; 177 class _IMPEXP_BE BRect; 178 class _IMPEXP_BE BRegion; 179 class _IMPEXP_BE BScreen; 180 class _IMPEXP_BE BScrollBar; 181 class _IMPEXP_BE BScrollView; 182 class _IMPEXP_BE BSeparatorItem; 183 class _IMPEXP_BE BShelf; 184 class _IMPEXP_BE BShape; 185 class _IMPEXP_BE BShapeIterator; 186 class _IMPEXP_BE BSlider; 187 class _IMPEXP_BE BStatusBar; 188 class _IMPEXP_BE BStringView; 189 class _IMPEXP_BE BTab; 190 class _IMPEXP_BE BTabView; 191 class _IMPEXP_BE BTextControl; 192 class _IMPEXP_BE BTextView; 193 class _IMPEXP_BE BView; 194 class _IMPEXP_BE BWindow; 195 196 class _IMPEXP_BE _BTextInput_; 197 class _IMPEXP_BE _BMCMenuBar_; 198 class _IMPEXP_BE _BMCItem_; 199 class _IMPEXP_BE _BWidthBuffer_; 200 class _IMPEXP_BE BPrivateScreen; 201 202 /* net kit */ 203 class _IMPEXP_NET _Allocator; 204 class _IMPEXP_NET _Transacter; 205 class _IMPEXP_NET _FastIPC; 206 207 /* netdev kit */ 208 class _IMPEXP_NETDEV BNetPacket; 209 class _IMPEXP_NETDEV BStandardPacket; 210 class _IMPEXP_NETDEV BTimeoutHandler; 211 class _IMPEXP_NETDEV BPacketHandler; 212 class _IMPEXP_NETDEV BNetProtocol; 213 class _IMPEXP_NETDEV BNetDevice; 214 class _IMPEXP_NETDEV BCallBackHandler; 215 class _IMPEXP_NETDEV BNetConfig; 216 class _IMPEXP_NETDEV BIpDevice; 217 218 class _IMPEXP_NETDEV _NetBufList; 219 class _IMPEXP_NETDEV _BSem; 220 221 /* atalk kit */ 222 class _IMPEXP_ATALK _PrinterNode; 223 224 /* tracker kit */ 225 class _IMPEXP_TRACKER BFilePanel; 226 class _IMPEXP_TRACKER BRecentItemsList; 227 class _IMPEXP_TRACKER BRecentFilesList; 228 class _IMPEXP_TRACKER BRecentFoldersList; 229 class _IMPEXP_TRACKER BRecentAppsList; 230 231 /* mail kit */ 232 class _IMPEXP_MAIL BMailMessage; 233 234 /* device kit */ 235 class _IMPEXP_DEVICE BA2D; 236 class _IMPEXP_DEVICE BD2A; 237 class _IMPEXP_DEVICE BDigitalPort; 238 class _IMPEXP_DEVICE BJoystick; 239 class _IMPEXP_DEVICE BSerialPort; 240 241 /* media kit */ 242 class _IMPEXP_MEDIA BDACRenderer; 243 class _IMPEXP_MEDIA BAudioFileStream; 244 class _IMPEXP_MEDIA BADCStream; 245 class _IMPEXP_MEDIA BDACStream; 246 class _IMPEXP_MEDIA BAbstractBufferStream; 247 class _IMPEXP_MEDIA BBufferStreamManager; 248 class _IMPEXP_MEDIA BBufferStream; 249 class _IMPEXP_MEDIA BSoundFile; 250 class _IMPEXP_MEDIA BSubscriber; 251 252 class _IMPEXP_MEDIA BMediaRoster; 253 class _IMPEXP_MEDIA BMediaNode; 254 class _IMPEXP_MEDIA BTimeSource; 255 class _IMPEXP_MEDIA BBufferProducer; 256 class _IMPEXP_MEDIA BBufferConsumer; 257 class _IMPEXP_MEDIA BBuffer; 258 class _IMPEXP_MEDIA BBufferGroup; 259 class _IMPEXP_MEDIA BControllable; 260 class _IMPEXP_MEDIA BFileInterface; 261 class _IMPEXP_MEDIA BEntityInterface; 262 class _IMPEXP_MEDIA BMediaAddOn; 263 class _IMPEXP_MEDIA BMediaTheme; 264 class _IMPEXP_MEDIA BParameterWeb; 265 class _IMPEXP_MEDIA BParameterGroup; 266 class _IMPEXP_MEDIA BParameter; 267 class _IMPEXP_MEDIA BNullParameter; 268 class _IMPEXP_MEDIA BDiscreteParameter; 269 class _IMPEXP_MEDIA BContinuousParameter; 270 class _IMPEXP_MEDIA BMediaFiles; 271 class _IMPEXP_MEDIA BSound; 272 class _IMPEXP_MEDIA BSoundCard; 273 class _IMPEXP_MEDIA BSoundPlayer; 274 class _IMPEXP_MEDIA BMediaFormats; 275 class _IMPEXP_MEDIA BTimedEventQueue; 276 //class _IMPEXP_MEDIA BEventIterator; 277 class _IMPEXP_MEDIA BMediaEventLooper; 278 class _IMPEXP_MEDIA BMediaFile; 279 class _IMPEXP_MEDIA BMediaTrack; 280 281 class _IMPEXP_MEDIA media_node; 282 struct _IMPEXP_MEDIA media_input; 283 struct _IMPEXP_MEDIA media_output; 284 struct _IMPEXP_MEDIA live_node_info; 285 struct _IMPEXP_MEDIA buffer_clone_info; 286 struct _IMPEXP_MEDIA media_source; 287 struct _IMPEXP_MEDIA media_destination; 288 struct _IMPEXP_MEDIA media_raw_audio_format; 289 struct _IMPEXP_MEDIA media_raw_video_format; 290 struct _IMPEXP_MEDIA media_video_display_info; 291 struct _IMPEXP_MEDIA flavor_info; 292 struct _IMPEXP_MEDIA dormant_node_info; 293 struct _IMPEXP_MEDIA dormant_flavor_info; 294 struct _IMPEXP_MEDIA media_source; 295 struct _IMPEXP_MEDIA media_destination; 296 struct _IMPEXP_MEDIA _media_format_description; 297 struct _IMPEXP_MEDIA media_timed_event; 298 299 /* midi kit */ 300 class _IMPEXP_MIDI BMidi; 301 class _IMPEXP_MIDI BMidiPort; 302 class _IMPEXP_MIDI BMidiStore; 303 class _IMPEXP_MIDI BMidiSynth; 304 class _IMPEXP_MIDI BMidiSynthFile; 305 class _IMPEXP_MIDI BMidiText; 306 class _IMPEXP_MIDI BSamples; 307 class _IMPEXP_MIDI BSynth; 308 309 class _IMPEXP_MIDI2 BMidiEndpoint; 310 class _IMPEXP_MIDI2 BMidiProducer; 311 class _IMPEXP_MIDI2 BMidiConsumer; 312 class _IMPEXP_MIDI2 BMidiLocalProducer; 313 class _IMPEXP_MIDI2 BMidiLocalConsumer; 314 class _IMPEXP_MIDI2 BMidiRoster; 315 316 /* game kit */ 317 class _IMPEXP_GAME BWindowScreen; 318 class _IMPEXP_GAME BDirectWindow; 319 320 /* gamesound kit */ 321 class _IMPEXP_GSOUND BGameSound; 322 class _IMPEXP_GSOUND BSimpleGameSound; 323 class _IMPEXP_GSOUND BStreamingGameSound; 324 class _IMPEXP_GSOUND BFileGameSound; 325 class _IMPEXP_GSOUND BPushGameSound; 326 327 /* translation kit */ 328 class _IMPEXP_TRANSLATION BTranslatorRoster; 329 class _IMPEXP_TRANSLATION BTranslationUtils; 330 class _IMPEXP_TRANSLATION BBitmapStream; 331 class _IMPEXP_TRANSLATION BTranslator; 332 struct _IMPEXP_TRANSLATION translation_format; 333 struct _IMPEXP_TRANSLATION translator_info; 334 335 /* GL */ 336 class _IMPEXP_GL BGLView; 337 class _IMPEXP_GL BGLScreen; 338 class _IMPEXP_GL GLUnurbs; 339 class _IMPEXP_GL GLUquadric; 340 class _IMPEXP_GL GLUtesselator; 341 342 typedef class _IMPEXP_GL GLUnurbs GLUnurbsObj; 343 typedef class _IMPEXP_GL GLUquadric GLUquadricObj; 344 typedef class _IMPEXP_GL GLUtesselator GLUtesselatorObj; 345 typedef class _IMPEXP_GL GLUtesselator GLUtriangulatorObj; 346 347 /* input_server */ 348 class _IMPEXP_INPUT BInputServerDevice; 349 class _IMPEXP_INPUT BInputServerFilter; 350 class _IMPEXP_INPUT BInputServerMethod; 351 352 #else /* __cplusplus */ 353 /* 354 //typedef struct _IMPEXP_GL GLUnurbs GLUnurbs; 355 //typedef struct _IMPEXP_GL GLUquadric GLUquadric; 356 //typedef struct _IMPEXP_GL GLUtesselator GLUtesselator; 357 358 //typedef struct _IMPEXP_GL GLUnurbs GLUnurbsObj; 359 //typedef struct _IMPEXP_GL GLUquadric GLUquadricObj; 360 //typedef struct _IMPEXP_GL GLUtesselator GLUtesselatorObj; 361 //typedef struct _IMPEXP_GL GLUtesselator GLUtriangulatorObj; 362 */ 363 #endif /* __cplusplus */ 364 365 #endif /* _BE_BUILD_H */ 366