public/sm_platform.h
author David Anderson <dvander@alliedmods.net>
Wed Jul 25 01:18:11 2007 +0000 (2007-07-25)
changeset 1163 0bb03cb6277b
parent 680 b5f7893fd4f6
child 1226 478550a4d5ec
permissions -rw-r--r--
- added MenuAction_DisplayItem callback for plugins
- fixed various bugs in MenuAction_Display
- added an "access" parameter for IMenuManager. better to do this now than later, even though it's not used yet
- hard bumped menu api to change the OnMenuDisplayItem callback. sorry!
dvander@372
     1
/**
dvander@375
     2
 * vim: set ts=4 :
dvander@372
     3
 * ===============================================================
dvander@376
     4
 * SourceMod, Copyright (C) 2004-2007 AlliedModders LLC. 
dvander@376
     5
 * All rights reserved.
dvander@372
     6
 * ===============================================================
dvander@372
     7
 *
dvander@372
     8
 *  This file is part of the SourceMod/SourcePawn SDK.  This file may only be used 
dvander@372
     9
 * or modified under the Terms and Conditions of its License Agreement, which is found 
dvander@372
    10
 * in LICENSE.txt.  The Terms and Conditions for making SourceMod extensions/plugins 
dvander@372
    11
 * may change at any time.  To view the latest information, see:
dvander@372
    12
 *   http://www.sourcemod.net/license.php
dvander@372
    13
 *
dvander@372
    14
 * Version: $Id$
dvander@372
    15
 */
dvander@372
    16
dvander@324
    17
#ifndef _INCLUDE_SOURCEMOD_PLATFORM_H_
dvander@324
    18
#define _INCLUDE_SOURCEMOD_PLATFORM_H_
dvander@324
    19
dvander@324
    20
/**
dvander@372
    21
 * @file sm_platform.h
dvander@372
    22
 * @brief Contains platform-specific macros for abstraction.
dvander@324
    23
 */
dvander@324
    24
dvander@324
    25
#if defined WIN32 || defined WIN64
dvander@324
    26
#define PLATFORM_WINDOWS
dvander@324
    27
#if !defined WIN32_LEAN_AND_MEAN
dvander@324
    28
#define WIN32_LEAN_AND_MEAN
dvander@324
    29
#endif
dvander@324
    30
#if !defined snprintf
dvander@324
    31
#define snprintf _snprintf
dvander@324
    32
#endif
dvander@324
    33
#if !defined stat
dvander@324
    34
#define stat _stat
dvander@324
    35
#endif
dvander@324
    36
#define strcasecmp strcmpi
dvander@680
    37
#define strncasecmp strnicmp
dvander@324
    38
#include <windows.h>
dvander@324
    39
#include <direct.h>
dvander@324
    40
#define PLATFORM_LIB_EXT		"dll"
dvander@324
    41
#define PLATFORM_MAX_PATH		MAX_PATH
dvander@324
    42
#define PLATFORM_SEP_CHAR		'\\'
dvander@324
    43
#define PLATFORM_SEP_ALTCHAR	'/'
dvander@324
    44
#define PLATFORM_EXTERN_C		extern "C" __declspec(dllexport)
dvander@351
    45
#elif defined __linux__
dvander@324
    46
#define PLATFORM_LINUX
dvander@324
    47
#define PLATFORM_POSIX
dvander@351
    48
#include <unistd.h>
dvander@324
    49
#include <dirent.h>
dvander@324
    50
#include <errno.h>
dvander@351
    51
#include <dlfcn.h>
dvander@351
    52
#include <sys/stat.h>
dvander@324
    53
#define PLATFORM_MAX_PATH		PATH_MAX
dvander@324
    54
#define PLATFORM_LIB_EXT		"so"
dvander@324
    55
#define PLATFORM_SEP_CHAR		'/'
dvander@324
    56
#define PLATFORM_SEP_ALTCHAR	'\\'
dvander@324
    57
#define PLATFORM_EXTERN_C		extern "C" __attribute__((visibility("default")))
dvander@324
    58
#endif
dvander@324
    59
dvander@351
    60
#if !defined SOURCEMOD_BUILD
dvander@351
    61
#define SOURCEMOD_BUILD
dvander@351
    62
#endif
dvander@351
    63
dvander@324
    64
#endif //_INCLUDE_SOURCEMOD_PLATFORM_H_