-rw-r--r-- | gammu/emb/common/misc/misc.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gammu/emb/common/misc/misc.h b/gammu/emb/common/misc/misc.h index 8b46170..c461001 100644 --- a/gammu/emb/common/misc/misc.h +++ b/gammu/emb/common/misc/misc.h @@ -1,53 +1,57 @@ /* (c) 2002-2004 by Marcin Wiacek */ #ifndef __misc_h #define __misc_h +#if defined(_MSC_VER) && defined(__cplusplus) + extern "C" { +#endif + #include <stdio.h> #include <time.h> #ifdef WIN32 # include <windows.h> #endif #include "../config.h" #ifndef __cplusplus #ifndef false # define false 0 #endif #ifndef true # define true !0 #endif #ifndef bool # define bool char #endif #endif /* __cplusplus */ #ifdef WIN32 # define my_sleep(x) ((x)<1000 ? Sleep(1) : Sleep((x)/1000)) #else # define my_sleep(x) usleep(x) #endif #undef MAX #define MAX(a,b) ((a)>(b) ? (a) : (b)) #undef MIN #define MIN(a,b) ((a)<(b) ? (a) : (b)) /* ------------------------------------------------------------------------- */ #define MAX_LINES 50 int GetLine(FILE *File, char *Line, int count); typedef struct { int numbers[MAX_LINES*2]; } GSM_Lines; void SplitLines(unsigned char *message, int messagesize, GSM_Lines *lines, unsigned char *whitespaces, int spaceslen, bool eot); char *GetLineString(unsigned char *message, GSM_Lines lines, int start); void CopyLineString(unsigned char *dest, unsigned char *src, GSM_Lines lines, int start); /* ------------------------------------------------------------------------- */ typedef enum { @@ -85,53 +89,57 @@ int dbgprintf(const char *format, ...); #ifdef __GNUC__ __attribute__((format(printf, 3, 4))) #endif int smfprintf(FILE *f, Debug_Level dl, const char *format, ...); void DumpMessage(FILE *df, Debug_Level dl, const unsigned char *message, int messagesize); bool GSM_SetDebugLevel(char *info, Debug_Info *di); /* ------------------------------------------------------------------------- */ /** * Structure used for saving date and time */ typedef struct { /** * The difference between local time and GMT in hours */ int Timezone; unsigned int Second; unsigned int Minute; unsigned int Hour; unsigned int Day; /** * January = 1, February = 2, etc. */ unsigned int Month; /** * Complete year number. Not 03, but 2003 */ unsigned int Year; } GSM_DateTime; void GSM_GetCurrentDateTime (GSM_DateTime *Date); char *OSDateTime (GSM_DateTime dt, bool TimeZone); char *OSDate (GSM_DateTime dt); char *DayOfWeek (int year, int month, int day); time_t Fill_Time_T (GSM_DateTime DT, int TZ); void GetTimeDifference (unsigned long diff, GSM_DateTime *DT, bool Plus, int multi); void Fill_GSM_DateTime (GSM_DateTime *Date, time_t timet); bool CheckDate (GSM_DateTime *date); bool CheckTime (GSM_DateTime *date); char *GetCompiler(void); char *GetOS(void); +#if defined(_MSC_VER) && defined(__cplusplus) + } +#endif + #endif /* How should editor hadle tabs in this file? Add editor commands here. * vim: noexpandtab sw=8 ts=8 sts=8: */ |