common.h
上传用户:myichia
上传日期:2019-01-05
资源大小:217k
文件大小:2k
源码类别:

TAPI编程

开发平台:

C/C++

  1. // $Id: common.h,v 1.2 2006/02/09 19:14:24 Daniel.May Exp $
  2. //
  3. // FIX Adapted for STreaming (sm) (FAST Protocol (sm)) 
  4. //
  5. // Copyright (c) 2005-2006, Pantor Engineering AB (http://www.pantor.com)
  6. // Copyright (c) 2005-2006, SpryWare LLC (http://www.spryware.com)
  7. // Copyright (c) 2005-2006, FIX Protocol Ltd (http://www.fixprotocol.org)
  8. // All Rights Reserved.
  9. //
  10. // This work is distributed under the W3C® Software License [1] in the
  11. // hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
  12. // implied warranty of MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS 
  13. // FOR A PARTICULAR PURPOSE.
  14. //
  15. // [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  16. // [FPL's Intellectual Property details] http://www.fixprotocol.org/ip
  17. // [FAST Protocol details] http://www.fixprotocol.org/fast
  18. // [FAST Protocol credits] http://fixprotocol.org/fastcredits
  19. #ifndef _common_h_
  20. #define _common_h_ 1
  21. #include "types.h"
  22. #ifndef max
  23. #define max(a,b) ((a) > (b) ? (a) : (b))
  24. #endif
  25. #ifndef min
  26. #define min(a,b) ((a) < (b) ? (a) : (b))
  27. #endif
  28. //////////////////////////////////////////////////////////////////////
  29. #if defined (WIN32)
  30. extern int optind;
  31. extern char *optarg;
  32. int getopt(int, char *const *, const char *);
  33. #define snprintf _snprintf
  34. #define vsnprintf _vsnprintf
  35. #define strcasecmp stricmp
  36. #endif // defined (WIN32)
  37. static inline u32 align (u32 x, u32 size)
  38. {
  39.    return (x + size - 1) / size;
  40. }
  41. static inline u32 align7 (u32 x) { return align (x, 7); }
  42. //////////////////////////////////////////////////////////////////////
  43. size_t strnlen (const char*, size_t); // missing in string.h
  44. void init_platform_io (void);
  45. int  read_n  (int fd, void* data, int size);
  46. int  write_n (int fd, const void* data, int size);
  47. #endif // _common_h_