// Copyright 1997-1998 Omni Development, Inc.  All rights reserved.
//
// $Header: /LocalDeveloper/Source/CVS/OmniGroup/OmniNetworking/FrameworkDefines.h,v 1.2 1998/01/21 07:16:08 kc Exp $

#ifndef _OmniNetworkingDEFINES_H
#define _OmniNetworkingDEFINES_H

//
//  Platform specific defs for externs
//

//
// For MACH
//

#if defined(__MACH__)

#ifdef __cplusplus
// This isnt extern "C" because the compiler will not allow this if it has
// seen an extern "Objective-C"
#define OmniNetworking_EXTERN		extern
#define OmniNetworking_PRIVATE_EXTERN	__private_extern__
#else
#define OmniNetworking_EXTERN		extern
#define OmniNetworking_PRIVATE_EXTERN	__private_extern__
#endif

//
// For Windows
//

#elif defined(WIN32)

#ifndef _NSBUILDING_OmniNetworking_DLL
#define OmniNetworkingDLL_GOOP	__declspec(dllimport)
#else
#define OmniNetworkingDLL_GOOP	__declspec(dllexport)
#endif

#ifdef __cplusplus
#define OmniNetworking_EXTERN		extern "C" OmniNetworkingDLL_GOOP
#define OmniNetworking_PRIVATE_EXTERN	extern
#else
#define OmniNetworking_EXTERN		OmniNetworkingDLL_GOOP extern
#define OmniNetworking_PRIVATE_EXTERN	extern
#endif

//
//  For Solaris
//

#elif defined(SOLARIS)

#ifdef __cplusplus
#define OmniNetworking_EXTERN		extern "C"
#define OmniNetworking_PRIVATE_EXTERN	extern "C"
#else
#define OmniNetworking_EXTERN		extern
#define OmniNetworking_PRIVATE_EXTERN	extern
#endif

#endif

#endif // _OmniNetworkingDEFINES_H

