VXItypes.h
上传用户:xqtpzdz
上传日期:2022-05-21
资源大小:1764k
文件大小:4k
源码类别:

xml/soap/webservice

开发平台:

Visual C++

  1. /****************License************************************************
  2.  * Vocalocity OpenVXI
  3.  * Copyright (C) 2004-2005 by Vocalocity, Inc. All Rights Reserved.
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU General Public License
  6.  * as published by the Free Software Foundation; either version 2
  7.  * of the License, or (at your option) any later version.
  8.  *  
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  17.  * Vocalocity, the Vocalocity logo, and VocalOS are trademarks or 
  18.  * registered trademarks of Vocalocity, Inc. 
  19.  * OpenVXI is a trademark of Scansoft, Inc. and used under license 
  20.  * by Vocalocity.
  21.  ***********************************************************************/
  22. /************************************************************************
  23.  *
  24.  *
  25.  * Basic VXI Types
  26.  *
  27.  * The following VXI types are used in the VXI interfaces and
  28.  * implementation to improve portability. The basic VXI types are:
  29.  *
  30.  *   VXIchar        Locality dependent char type
  31.  *   VXIbool        Boolean with values TRUE or FALSE
  32.  *   VXIbyte        Single byte
  33.  *   VXIint         Native platform int
  34.  *   VXIunsigned    Native platform unsigned int
  35.  *   VXIint32       32-bit int
  36.  *   VXIlong        Native platform long
  37.  *   VXIulong       Native platform unsigned long
  38.  *   VXIflt32       32-bit IEEE float
  39.  *   VXIflt64       64-bit IEEE float
  40.  *   VXIptr         Untyped pointer
  41.  *
  42.  ************************************************************************
  43.  */
  44. #ifndef _VXITYPES_H
  45. #define _VXITYPES_H
  46. #ifdef __cplusplus
  47. #include <cwchar>         /* C++ wchar_t support */
  48. #else
  49. #include <wchar.h>        /* C wchar_t support */
  50. #endif
  51. #ifndef WIN32
  52. #include <pthread.h>      /* For pthread_t */
  53. #endif
  54. #include "VXIheaderPrefix.h"
  55.  /**
  56.   * defgroup VXItypes Type definitions
  57.   *
  58.   * VXI prefixed primitive types to ensure portability across a wide
  59.   * variety of operating systems. These types are used throughout all
  60.   * the VXI interfaces as well as within implementations of those
  61.   * interfaces.  
  62.   */
  63. /*@{*/
  64. /**
  65.  * i386-* bindings
  66.  */
  67. typedef unsigned int   VXIbool;
  68. typedef unsigned char  VXIbyte;
  69. typedef wchar_t        VXIchar;
  70. typedef int            VXIint;
  71. typedef unsigned int   VXIunsigned;
  72. typedef int            VXIint32;
  73. typedef long           VXIlong;
  74. typedef unsigned long  VXIulong;
  75. typedef float          VXIflt32;
  76. typedef double         VXIflt64;
  77. typedef void *         VXIptr;
  78. #ifdef WIN32
  79. typedef VXIlong        VXIthreadID;
  80. #else
  81. typedef pthread_t      VXIthreadID;
  82. #endif
  83. #ifdef __cplusplus
  84. #include <string>
  85. typedef std::basic_string<VXIchar> vxistring;
  86. #endif
  87. /**
  88.  * Common MIME content types used for multiple interfaces
  89.  */
  90. #define VXI_MIME_SRGS              L"application/srgs+xml"
  91. #define VXI_MIME_SSML              L"application/synthesis+ssml"
  92. #define VXI_MIME_VXML              L"application/voicexml+xml"
  93. #define VXI_MIME_TEXT              L"text/plain"
  94. #define VXI_MIME_UNICODE_TEXT      L"text/plain;charset=wchar_t"
  95. #define VXI_MIME_UTF16_TEXT        L"text/plain;charset=UTF-16"
  96. #define VXI_MIME_XML               L"text/xml"
  97. #define VXI_MIME_ALAW              L"audio/x-alaw-basic"
  98. #define VXI_MIME_LINEAR            L"audio/L8;rate=8000"
  99. #define VXI_MIME_LINEAR_16         L"audio/L16;rate=8000"
  100. #define VXI_MIME_LINEAR_16_16KHZ   L"audio/L16;rate=16000"
  101. #define VXI_MIME_ULAW              L"audio/basic"
  102. #define VXI_MIME_VOX               L"audio/x-dialogic-vox"
  103. #define VXI_MIME_WAV               L"audio/x-wav"
  104. /**
  105.  * Current VXI interface version
  106.  */
  107. #define VXI_CURRENT_VERSION     0x00030004
  108. #define VXI_MAJOR_VERSION(x)    (((x) >> 16) & 0xFFFF)
  109. #define VXI_MINOR_VERSION(x)    ((x) & 0xFFFF)
  110. #define VXI_CURRENT_VERSION_STR L"3.4"
  111. /**
  112.  * True and false for VXIbool values
  113.  */
  114. #ifndef FALSE
  115. #define FALSE 0
  116. #endif
  117. #ifndef TRUE
  118. #define TRUE 1
  119. #endif
  120. /*@}*/
  121. #include "VXIheaderSuffix.h"
  122. #endif /* end of include guard */