haiku/headers/build/os/BeBuild.h

366 lines
9.8 KiB
C
Raw Normal View History

/******************************************************************************
/
/ File: BeBuild.h
/
/ Description: Import/export macros
/
/ Copyright 1993-98, Be Incorporated
/
*******************************************************************************/
#ifndef _BE_BUILD_H
#define _BE_BUILD_H
#define B_BEOS_VERSION_4 0x0400
#define B_BEOS_VERSION_4_5 0x0450
#define B_BEOS_VERSION_5 0x0500
#define B_BEOS_VERSION B_BEOS_VERSION_5
#define B_BEOS_VERSION_MAUI B_BEOS_VERSION_5
#if defined(__POWERPC__)
// the PowerPC build is using GCC now (BeOS R5 used to use the Metrowerks
// compiler), so it is not compatible to any BeOS version on that platform
// before. However, that wouldn't rule out source compatibility, which
// we do here (for now).
#define _PR2_COMPATIBLE_ 0
#define _PR3_COMPATIBLE_ 0
#define _R4_COMPATIBLE_ 0
#define _R4_5_COMPATIBLE_ 0
#elif defined(__INTEL__)
#define _PR2_COMPATIBLE_ 0
#define _PR3_COMPATIBLE_ 0
#define _R4_COMPATIBLE_ 1
#define _R4_5_COMPATIBLE_ 1
#else
# error Configure BeBuild.h for your platform
#endif
#if __MWERKS__
# define _UNUSED(x)
# define _PACKED
#endif
#if __GNUC__
# define _UNUSED(x) x
# define _PACKED __attribute__((packed))
#endif
#if defined(__INTEL__) || defined(__POWERPC__)
// This is the standard import/export definitions used for
// the ELF binary format - this should be usable by all flavors
// of OpenBeOS.
# define _EXPORT
# define _IMPORT
# define _IMPEXP_KERNEL
# define _IMPEXP_GL
# define _IMPEXP_ROOT
# define _IMPEXP_NET
# define _IMPEXP_NETDEV
# define _IMPEXP_ATALK
# define _IMPEXP_BE
# define _IMPEXP_TRACKER
# define _IMPEXP_MAIL
# define _IMPEXP_DEVICE
# define _IMPEXP_MEDIA
# define _IMPEXP_MIDI
# define _IMPEXP_MIDI2
# define _IMPEXP_GAME
# define _IMPEXP_GSOUND
# define _IMPEXP_TRANSLATION
# define _IMPEXP_TEXTENCODING
# define _IMPEXP_INPUT
#endif
#ifdef __cplusplus
/* cpp kit */
/* support kit */
class _IMPEXP_BE BArchivable;
class _IMPEXP_BE BAutolock;
class _IMPEXP_BE BBlockCache;
class _IMPEXP_BE BBufferIO;
class _IMPEXP_BE BDataIO;
class _IMPEXP_BE BPositionIO;
class _IMPEXP_BE BMallocIO;
class _IMPEXP_BE BMemoryIO;
class _IMPEXP_BE BFlattenable;
class _IMPEXP_BE BList;
class _IMPEXP_BE BLocker;
class _IMPEXP_BE BStopWatch;
class _IMPEXP_BE BString;
class _IMPEXP_BE PointerList;
/*storage kit */
struct _IMPEXP_BE entry_ref;
struct _IMPEXP_BE node_ref;
class _IMPEXP_BE BAppFileInfo;
class _IMPEXP_BE BDirectory;
class _IMPEXP_BE BEntry;
class _IMPEXP_BE BFile;
class _IMPEXP_BE BRefFilter;
class _IMPEXP_BE BMimeType;
class _IMPEXP_BE BNode;
class _IMPEXP_BE BNodeInfo;
class _IMPEXP_BE BPath;
class _IMPEXP_BE BQuery;
class _IMPEXP_BE BResources;
class _IMPEXP_BE BResourceStrings;
class _IMPEXP_BE BStatable;
class _IMPEXP_BE BSymLink;
class _IMPEXP_BE BVolume;
class _IMPEXP_BE BVolumeRoster;
//class _IMPEXP_BE Partition;
//class _IMPEXP_BE Session;
//class _IMPEXP_BE Device;
//class _IMPEXP_BE DeviceList;
//class _IMPEXP_BE TNodeWalker;
//class _IMPEXP_BE TQueryWalker;
//class _IMPEXP_BE TVolWalker;
/*app kit */
struct _IMPEXP_BE app_info;
class _IMPEXP_BE BApplication;
class _IMPEXP_BE BClipboard;
class _IMPEXP_BE BHandler;
class _IMPEXP_BE BInvoker;
class _IMPEXP_BE BLooper;
class _IMPEXP_BE BMessage;
class _IMPEXP_BE BMessageFilter;
class _IMPEXP_BE BMessageQueue;
class _IMPEXP_BE BMessageRunner;
class _IMPEXP_BE BMessenger;
class _IMPEXP_BE BPropertyInfo;
class _IMPEXP_BE BRoster;
class _IMPEXP_BE _BAppServerLink_;
class _IMPEXP_BE _BSession_;
/*interface kit */
class _IMPEXP_BE BAlert;
class _IMPEXP_BE BBitmap;
class _IMPEXP_BE BBox;
class _IMPEXP_BE BButton;
class _IMPEXP_BE BChannelControl;
class _IMPEXP_BE BChannelSlider;
class _IMPEXP_BE BCheckBox;
class _IMPEXP_BE BColorControl;
class _IMPEXP_BE BControl;
class _IMPEXP_BE BDeskbar;
class _IMPEXP_BE BDragger;
class _IMPEXP_BE BFont;
class _IMPEXP_BE BInputDevice;
class _IMPEXP_BE BListItem;
class _IMPEXP_BE BListView;
class _IMPEXP_BE BStringItem;
class _IMPEXP_BE BMenu;
class _IMPEXP_BE BMenuBar;
class _IMPEXP_BE BMenuField;
class _IMPEXP_BE BMenuItem;
class _IMPEXP_BE BOptionControl;
class _IMPEXP_BE BOptionPopUp;
class _IMPEXP_BE BOutlineListView;
class _IMPEXP_BE BPicture;
class _IMPEXP_BE BPictureButton;
class _IMPEXP_BE BPoint;
class _IMPEXP_BE BPolygon;
class _IMPEXP_BE BPopUpMenu;
class _IMPEXP_BE BPrintJob;
class _IMPEXP_BE BRadioButton;
class _IMPEXP_BE BRect;
class _IMPEXP_BE BRegion;
class _IMPEXP_BE BScreen;
class _IMPEXP_BE BScrollBar;
class _IMPEXP_BE BScrollView;
class _IMPEXP_BE BSeparatorItem;
class _IMPEXP_BE BShelf;
class _IMPEXP_BE BShape;
class _IMPEXP_BE BShapeIterator;
class _IMPEXP_BE BSlider;
class _IMPEXP_BE BStatusBar;
class _IMPEXP_BE BStringView;
class _IMPEXP_BE BTab;
class _IMPEXP_BE BTabView;
class _IMPEXP_BE BTextControl;
class _IMPEXP_BE BTextView;
class _IMPEXP_BE BView;
class _IMPEXP_BE BWindow;
class _IMPEXP_BE _BTextInput_;
class _IMPEXP_BE _BMCMenuBar_;
class _IMPEXP_BE _BMCItem_;
class _IMPEXP_BE _BWidthBuffer_;
class _IMPEXP_BE BPrivateScreen;
/* net kit */
class _IMPEXP_NET _Allocator;
class _IMPEXP_NET _Transacter;
class _IMPEXP_NET _FastIPC;
/* netdev kit */
class _IMPEXP_NETDEV BNetPacket;
class _IMPEXP_NETDEV BStandardPacket;
class _IMPEXP_NETDEV BTimeoutHandler;
class _IMPEXP_NETDEV BPacketHandler;
class _IMPEXP_NETDEV BNetProtocol;
class _IMPEXP_NETDEV BNetDevice;
class _IMPEXP_NETDEV BCallBackHandler;
class _IMPEXP_NETDEV BNetConfig;
class _IMPEXP_NETDEV BIpDevice;
class _IMPEXP_NETDEV _NetBufList;
class _IMPEXP_NETDEV _BSem;
/* atalk kit */
class _IMPEXP_ATALK _PrinterNode;
/* tracker kit */
class _IMPEXP_TRACKER BFilePanel;
class _IMPEXP_TRACKER BRecentItemsList;
class _IMPEXP_TRACKER BRecentFilesList;
class _IMPEXP_TRACKER BRecentFoldersList;
class _IMPEXP_TRACKER BRecentAppsList;
/* mail kit */
class _IMPEXP_MAIL BMailMessage;
/* device kit */
class _IMPEXP_DEVICE BA2D;
class _IMPEXP_DEVICE BD2A;
class _IMPEXP_DEVICE BDigitalPort;
class _IMPEXP_DEVICE BJoystick;
class _IMPEXP_DEVICE BSerialPort;
/* media kit */
class _IMPEXP_MEDIA BDACRenderer;
class _IMPEXP_MEDIA BAudioFileStream;
class _IMPEXP_MEDIA BADCStream;
class _IMPEXP_MEDIA BDACStream;
class _IMPEXP_MEDIA BAbstractBufferStream;
class _IMPEXP_MEDIA BBufferStreamManager;
class _IMPEXP_MEDIA BBufferStream;
class _IMPEXP_MEDIA BSoundFile;
class _IMPEXP_MEDIA BSubscriber;
class _IMPEXP_MEDIA BMediaRoster;
class _IMPEXP_MEDIA BMediaNode;
class _IMPEXP_MEDIA BTimeSource;
class _IMPEXP_MEDIA BBufferProducer;
class _IMPEXP_MEDIA BBufferConsumer;
class _IMPEXP_MEDIA BBuffer;
class _IMPEXP_MEDIA BBufferGroup;
class _IMPEXP_MEDIA BControllable;
class _IMPEXP_MEDIA BFileInterface;
class _IMPEXP_MEDIA BEntityInterface;
class _IMPEXP_MEDIA BMediaAddOn;
class _IMPEXP_MEDIA BMediaTheme;
class _IMPEXP_MEDIA BParameterWeb;
class _IMPEXP_MEDIA BParameterGroup;
class _IMPEXP_MEDIA BParameter;
class _IMPEXP_MEDIA BNullParameter;
class _IMPEXP_MEDIA BDiscreteParameter;
class _IMPEXP_MEDIA BContinuousParameter;
class _IMPEXP_MEDIA BMediaFiles;
class _IMPEXP_MEDIA BSound;
class _IMPEXP_MEDIA BSoundCard;
class _IMPEXP_MEDIA BSoundPlayer;
class _IMPEXP_MEDIA BMediaFormats;
class _IMPEXP_MEDIA BTimedEventQueue;
//class _IMPEXP_MEDIA BEventIterator;
class _IMPEXP_MEDIA BMediaEventLooper;
class _IMPEXP_MEDIA BMediaFile;
class _IMPEXP_MEDIA BMediaTrack;
class _IMPEXP_MEDIA media_node;
struct _IMPEXP_MEDIA media_input;
struct _IMPEXP_MEDIA media_output;
struct _IMPEXP_MEDIA live_node_info;
struct _IMPEXP_MEDIA buffer_clone_info;
struct _IMPEXP_MEDIA media_source;
struct _IMPEXP_MEDIA media_destination;
struct _IMPEXP_MEDIA media_raw_audio_format;
struct _IMPEXP_MEDIA media_raw_video_format;
struct _IMPEXP_MEDIA media_video_display_info;
struct _IMPEXP_MEDIA flavor_info;
struct _IMPEXP_MEDIA dormant_node_info;
struct _IMPEXP_MEDIA dormant_flavor_info;
struct _IMPEXP_MEDIA media_source;
struct _IMPEXP_MEDIA media_destination;
struct _IMPEXP_MEDIA _media_format_description;
struct _IMPEXP_MEDIA media_timed_event;
/* midi kit */
class _IMPEXP_MIDI BMidi;
class _IMPEXP_MIDI BMidiPort;
class _IMPEXP_MIDI BMidiStore;
class _IMPEXP_MIDI BMidiSynth;
class _IMPEXP_MIDI BMidiSynthFile;
class _IMPEXP_MIDI BMidiText;
class _IMPEXP_MIDI BSamples;
class _IMPEXP_MIDI BSynth;
class _IMPEXP_MIDI2 BMidiEndpoint;
class _IMPEXP_MIDI2 BMidiProducer;
class _IMPEXP_MIDI2 BMidiConsumer;
class _IMPEXP_MIDI2 BMidiLocalProducer;
class _IMPEXP_MIDI2 BMidiLocalConsumer;
class _IMPEXP_MIDI2 BMidiRoster;
/* game kit */
class _IMPEXP_GAME BWindowScreen;
class _IMPEXP_GAME BDirectWindow;
/* gamesound kit */
class _IMPEXP_GSOUND BGameSound;
class _IMPEXP_GSOUND BSimpleGameSound;
class _IMPEXP_GSOUND BStreamingGameSound;
class _IMPEXP_GSOUND BFileGameSound;
class _IMPEXP_GSOUND BPushGameSound;
/* translation kit */
class _IMPEXP_TRANSLATION BTranslatorRoster;
class _IMPEXP_TRANSLATION BTranslationUtils;
class _IMPEXP_TRANSLATION BBitmapStream;
class _IMPEXP_TRANSLATION BTranslator;
struct _IMPEXP_TRANSLATION translation_format;
struct _IMPEXP_TRANSLATION translator_info;
/* GL */
class _IMPEXP_GL BGLView;
class _IMPEXP_GL BGLScreen;
class _IMPEXP_GL GLUnurbs;
class _IMPEXP_GL GLUquadric;
class _IMPEXP_GL GLUtesselator;
typedef class _IMPEXP_GL GLUnurbs GLUnurbsObj;
typedef class _IMPEXP_GL GLUquadric GLUquadricObj;
typedef class _IMPEXP_GL GLUtesselator GLUtesselatorObj;
typedef class _IMPEXP_GL GLUtesselator GLUtriangulatorObj;
/* input_server */
class _IMPEXP_INPUT BInputServerDevice;
class _IMPEXP_INPUT BInputServerFilter;
class _IMPEXP_INPUT BInputServerMethod;
#else /* __cplusplus */
/*
//typedef struct _IMPEXP_GL GLUnurbs GLUnurbs;
//typedef struct _IMPEXP_GL GLUquadric GLUquadric;
//typedef struct _IMPEXP_GL GLUtesselator GLUtesselator;
//typedef struct _IMPEXP_GL GLUnurbs GLUnurbsObj;
//typedef struct _IMPEXP_GL GLUquadric GLUquadricObj;
//typedef struct _IMPEXP_GL GLUtesselator GLUtesselatorObj;
//typedef struct _IMPEXP_GL GLUtesselator GLUtriangulatorObj;
*/
#endif /* __cplusplus */
#endif /* _BE_BUILD_H */