\r\n -> \n
[gnokii.git] / include / misc.h
index 2110b15..2a16e51 100644 (file)
 /*
 
 /*
 
-  $Id$
-
   G N O K I I
 
   A Linux/Unix toolset and driver for Nokia mobile phones.
 
   G N O K I I
 
   A Linux/Unix toolset and driver for Nokia mobile phones.
 
-  Copyright (C) 1999, 2000 Hugh Blemings & Pavel Janík ml.
-
   Released under the terms of the GNU GPL, see file COPYING for more details.
 
   Header file for miscellaneous defines, typedefs etc.
 
   Released under the terms of the GNU GPL, see file COPYING for more details.
 
   Header file for miscellaneous defines, typedefs etc.
 
-  $Log$
-  Revision 1.1.1.2  2001/11/27 04:19:40  short
-  :pserver:cvs@pserver.samba.org:/cvsroot - gnokii - Tue Nov 27 05:17 CET 2001
-
-  Revision 1.27  2001/11/26 18:06:08  pkot
-  Checking for *printf functions, N_(x) for localization, generic ARRAY_LEN, SAFE_STRNCPY, G_GNUC_PRINTF (Jan Kratochvil)
-
-  Revision 1.26  2001/11/14 10:46:12  pkot
-  Small cleanup with __unices__
-
-  Revision 1.25  2001/07/03 15:27:14  pkot
-  AT commands for SMS handling support (Tamas Bondar)
-  Small at-emulator code cleanup (me)
-
-  Revision 1.24  2001/06/28 00:28:46  pkot
-  Small docs updates (Pawel Kot)
-
-
 */
 
 #ifndef __misc_h
 #define __misc_h    
 
 */
 
 #ifndef __misc_h
 #define __misc_h    
 
-#include "config.h"
+#include <stdio.h>
+#include <stdlib.h>
+
+#ifndef VC6
+  #include "config.h"
+
+  /* Use gsprintf instead of sprintf and sprintf */
+  #ifdef HAVE_SNPRINTF
+  # define gsprintf(a, b, c...) snprintf(a, b, c)
+  #else
+  # define gsprintf(a, b, c...) sprintf(a, c)
+  #endif
+
+#endif
 
 /* Some general defines. */
 
 #ifndef false
 
 /* Some general defines. */
 
 #ifndef false
-#  define false (0)
+  #define false (0)
 #endif
 
 #ifndef true
 #endif
 
 #ifndef true
-#  define true (!false)
+  #define true (!false)
 #endif
 
 #ifndef bool    
 #endif
 
 #ifndef bool    
-#  define bool int
+  #define bool int
 #endif
 
 #endif
 
-#define ARRAY_LEN(x) (sizeof((x)) / sizeof((x)[0]))
-
-#define SAFE_STRNCPY(dest, src, n) do { \
-       strncpy((dest), (src), (n)); \
-       if ((n) > 0) \
-               (dest)[(n)-1] = '\0'; \
-       } while (0)
-
-#define SAFE_STRNCPY_SIZEOF(dest,src) \
-       SAFE_STRNCPY((dest), (src), sizeof((dest)))
-
-/* Stolen from <glib.h>: */
-#if    __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-#  define G_GNUC_PRINTF( format_idx, arg_idx ) \
-    __attribute__((format (printf, format_idx, arg_idx)))
-#else  /* !__GNUC__ */
-#  define G_GNUC_PRINTF( format_idx, arg_idx )
-#endif /* !__GNUC__ */
-
-#define GNOKII_MAX(a, b)  (((a) > (b)) ? (a) : (b))
-#define GNOKII_MIN(a, b)  (((a) < (b)) ? (a) : (b))
-
-/* A define to make debug printfs neat */
-#ifndef DEBUG
-#  define dprintf(a...) do { } while (0)
-#else
-#  define dprintf(a...) do { fprintf(stderr, a); fflush(stderr); } while (0) 
-#endif
+/* This one is for NLS. */
 
 
-/* Use gsprintf instead of sprintf and sprintf */
-#ifdef HAVE_SNPRINTF
-#  define gsprintf(a, b, c...) snprintf(a, b, c)
-#else
-#  define gsprintf(a, b, c...) sprintf(a, c)
-#endif
-#ifdef HAVE_VSNPRINTF
-#  define gvsprintf(a, b, c...) vsnprintf(a, b, c)
-#else
-#  define gvsprintf(a, b, c...) vsprintf(a, c)
-#endif
-#ifdef HAVE_ASPRINTF
-#  define gasprintf(a...) asprintf(a)
-#else
-#include <stdarg.h>
-extern int gasprintf(char **destp, const char *fmt,...);
-#endif
-#ifdef HAVE_VASPRINTF
-#  define gvasprintf(a...) vasprintf(a)
-#else
-#include <stdarg.h>
-extern int gvasprintf(char **destp, const char *fmt, va_list ap);
-#endif
+#ifdef USE_NLS
 
 
-/* Get rid of long defines. Use #if __unices__ */
-#define __unices__ defined(__svr4__) || defined(__FreeBSD__) || defined(__bsdi__)
-#if __unices__
-#  include <strings.h>
-#  include <sys/file.h>
-#endif
+  #ifndef VC6
+    #include <libintl.h>
+    #define _(x) gettext(x)
+  #else
+    #define _(x) (x)
+  #endif
 
 
-/* This one is for NLS. */
-#ifdef USE_NLS
-#  include <libintl.h>
-#  define _(x) gettext(x)
-#  define N_(x) gettext_noop(x)
 #else
 #else
-#  define _(x) (x)
-#  define N_(x) (x)
+  #define _(x) (x)
 #endif /* USE_NLS */
 
 /* Definitions for u8, u16, u32 and u64, borrowed from
    /usr/src/linux/include/asm-i38/types.h */
 
 #ifndef u8
 #endif /* USE_NLS */
 
 /* Definitions for u8, u16, u32 and u64, borrowed from
    /usr/src/linux/include/asm-i38/types.h */
 
 #ifndef u8
-       typedef unsigned char u8;
+  typedef unsigned char u8;
 #endif
 
 #ifndef u16
 #endif
 
 #ifndef u16
-       typedef unsigned short u16;
+  typedef unsigned short u16;
 #endif
 
 #ifndef u32
 #endif
 
 #ifndef u32
-       typedef unsigned int u32;
+  typedef unsigned int u32;
 #endif
 
 #ifndef s32
 #endif
 
 #ifndef s32
-       typedef int s32;
+  typedef int s32;
 #endif
 
 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 #endif
 
 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-#  ifndef u64
-       typedef unsigned long long u64;
-#  endif
+  #ifndef u64
+    typedef unsigned long long u64;
+  #endif
 
 
-#  ifndef s64
-       typedef signed long long s64;
-#  endif
+  #ifndef s64
+    typedef signed long long s64;
+  #endif
 #endif 
 
 /* This one is for FreeBSD and similar systems without __ptr_t_ */
 /* FIXME: autoconf should take care of this. */
 #endif 
 
 /* This one is for FreeBSD and similar systems without __ptr_t_ */
 /* FIXME: autoconf should take care of this. */
+
 #ifndef __ptr_t
 #ifndef __ptr_t
-       typedef void * __ptr_t;
+  typedef void * __ptr_t;
 #endif /* __ptr_t */
 
 
 /* Add here any timer operations which are not supported by libc5 */
 
 #ifndef HAVE_TIMEOPS
 #endif /* __ptr_t */
 
 
 /* Add here any timer operations which are not supported by libc5 */
 
 #ifndef HAVE_TIMEOPS
-#  ifdef WIN32
-
-#    include <windows.h>
-#    include <sys/timeb.h>
-#    define timersub(a, b, result)
-       do {
-               (result)->tv_sec = (a)->time - (b)->time;
-               (result)->tv_usec = ((a)->millitm - (b)->millitm) * 1000;
-               if ((result)->tv_usec < 0) {
-                       --(result)->tv_sec;
-                       (result)->tv_usec += 1000000;
-               }
-       } while (0)
-#    define gettimeofday(a, b) _ftime(a)
-
-#  else /* !WIN32 */
-#    include <sys/time.h>
-
-#    ifndef timersub
-#      define timersub(a, b, result)                               \
-       do {                                                       \
-               (result)->tv_sec = (a)->tv_sec - (b)->tv_sec;      \
-               (result)->tv_usec = (a)->tv_usec - (b)->tv_usec;   \
-               if ((result)->tv_usec < 0) {                       \
-                       --(result)->tv_sec;                        \
-                       (result)->tv_usec += 1000000;              \
-               }                                                  \
-       } while (0)
-#    endif /* timersub */
-
-#  endif /* WIN32 */
-#endif /* HAVE_TIMEOPS */
+#include <sys/time.h>
+
+#ifndef timersub
+#define timersub(a, b, result)                                                \
+  do {                                                                        \
+    (result)->tv_sec = (a)->tv_sec - (b)->tv_sec;                             \
+    (result)->tv_usec = (a)->tv_usec - (b)->tv_usec;                          \
+    if ((result)->tv_usec < 0) {                                              \
+      --(result)->tv_sec;                                                     \
+      (result)->tv_usec += 1000000;                                           \
+    }                                                                         \
+  } while (0)
+#endif
 
 
+#endif /* HAVE_TIMEOPS */
 
 #include <stdio.h>
 
 #include <stdio.h>
+
 extern int GetLine(FILE *File, char *Line, int count);
 
 extern int GetLine(FILE *File, char *Line, int count);
 
-/* For models table */
-typedef struct {
-       char *model;
-       char *number;
-       int flags;
-} PhoneModel;
-
-#define PM_CALLERGROUP   0x0001
-#define PM_NETMONITOR    0x0002
-#define PM_KEYBOARD      0x0004
-#define PM_SMS           0x0008
-#define PM_CALENDAR      0x0010
-#define PM_DTMF                  0x0020
-#define PM_DATA                  0x0040
-#define PM_SPEEDDIAL     0x0080
-#define PM_EXTPBK         0x0100
-#define PM_AUTHENTICATION 0x0200
-
-extern char *GetModel (const char *);
-extern PhoneModel *GetPhoneModel (const char *);
+int mem_to_int(const char str[], int len);
 
 
-#endif /* __misc_h */
+void hexdump(u16 MessageLength, u8 *MessageBuffer);
+void txhexdump(u16 MessageLength, u8 *MessageBuffer);
 
 
+#endif /* __misc_h */