STDX.H

[目次 | マクロ]

目次

マクロ一覧


   1|/**************************************************************************
   2|*   1. <<< 標準ライブラリ (StdX) >>> 
   3|***************************************************************************/
   4|
   5|#ifndef __STDX_H
   6|#define __STDX_H
   7|
   8|/*----------------------------------------------------------------------
   9|[Module Property]
  10|name = StdX
  11|title = 標準ライブラリ
  12|category = 基本型
  13|src = stdx.c
  14|depend = StdLibs
  15|priority =
  16|accord =
  17|----------------------------------------------------------------------*/
  18|
  19| 
  20|/*------------------------------------------------------------------------*/
  21|/* 2. <<< 優先ヘッダ >>> */ 
  22|/*------------------------------------------------------------------------*/
  23|#ifndef USES_PRIORITY_HEADER
  24|/*[START_OF_PRIORITY_HEADER]*/
  25|
  26|#ifndef  USES_STDX
  27|#define  USES_STDX
  28|
  29|#ifndef  STDLIBS_INCLUDE_STDARG_H
  30|  #define  STDLIBS_INCLUDE_STDARG_H
  31|#endif
  32|#ifndef  STDLIBS_INCLUDE_STDDEF_H
  33|  #define  STDLIBS_INCLUDE_STDDEF_H
  34|#endif
  35|
  36|#define  USES_STDX_STDARG
  37|
  38|#endif
  39|
  40|/*[END_OF_PRIORITY_HEADER]*/
  41|#endif /* USES_PRIORITY_HEADER */
  42|
  43|
  44| 
  45|/*------------------------------------------------------------------------*/
  46|/* 3. <<< モジュール設定 >>> */ 
  47|/*------------------------------------------------------------------------*/
  48|#ifndef  STDX_SETTING
  49|
  50|  /* [STDX_USE_STDNAME] */
  51|  /* ユーザの標準関数名を StdX_... に改名するかどうかの設定 */
  52|  /* 例:ユーザの strlen StdX_strlen に改名する */
  53|  #ifdef  STDLIBS_NO_STDLIB
  54|   #ifdef   USES_STDLIBS
  55|    #define  STDX_USE_STDNAME
  56|   #endif
  57|  #endif
  58|
  59|  /* [STDX_CUT_EXIT_LABEL] */
  60|  /* 定義すると StdX_exit 関数内で exit ラベルを作らないようにします */
  61|  /* #define  STDX_CUT_EXIT_LABEL */
  62|#endif
  63|
  64|
  65| 
  66|/*------------------------------------------------------------------------*/
  67|/* 4. <<< Interface Area ----------------------------------------------- >>> */ 
  68|/*------------------------------------------------------------------------*/
  69|#ifdef  __cplusplus
  70|  extern "C" {
  71|#endif
  72|
  73|unsigned   StdX_strlen( const char* s );
  74|char*  StdX_strcpy( char* dst, const char* src );
  75|char*  StdX_strncpy( char* dst, const char* src, int n );
  76|char*  StdX_strchr( const char* s, int c );
  77|int    StdX_strcmp( const char* s, const char* ss );
  78|int    StdX_stricmp( const char* a, const char* b );
  79|void*  StdX_memcpy( void* _dec, const void* _src, size_t n );
  80|void*  StdX_memmove( void* _dec, const void* _src, size_t n );
  81|void*  StdX_memset( void* _dec, int ch, unsigned n );
  82|int    StdX_memcmp( const void* a, const void* b, size_t size );
  83|#if  defined(USES_STDX_STDARG)
  84|  int  StdX_sprintf( char* s, const char* fmt, ... );
  85|  int  StdX_vsprintf( char* s, const char* fmt, va_list va );
  86|#endif
  87|int    StdX_toupper( int );
  88|void   StdX_srand( unsigned int seed );
  89|int    StdX_rand(void);
  90|#define  STDX_RAND_MAX   0x7FFFFFFF
  91|
  92|#ifdef  __cplusplus
  93|  }
  94|#endif
  95|
  96| 
  97|/*------------------------------------------------------------------------*/
  98|/* 5. <<< Mapping Area ------------------------------------------------- >>> */ 
  99|/*------------------------------------------------------------------------*/
 100|#ifdef STDX_USE_STDNAME
 101|
 102|#define  strlen   StdX_strlen
 103|#define  strcpy   StdX_strcpy
 104|#define  strncpy  StdX_memcpy
 105|#define  strchr   StdX_strchr
 106|#define  strcmp   StdX_strcmp
 107|#define  stricmp  StdX_stricmp
 108|#define  toupper  StdX_toupper
 109|#define  memcpy   StdX_memcpy
 110|#define  memmove  StdX_memmove
 111|#define  memset   StdX_memset
 112|#define  memcmp   StdX_memcmp
 113|#define  sprintf  StdX_sprintf
 114|#define  vsprintf StdX_vsprintf
 115|
 116|
 117|#endif
 118|
 119|
 120| 
 121|/***********************************************************************
 122|*  6. <<< [StdX_toupper] >>> 
 123|************************************************************************/
 124|#define  StdX_toupper( c ) \
 125|  ( (c) >= 'a' && (c) <= 'z' ? (c) - 0x20 : (c) )
 126|
 127| 
 128|#endif 
 129| 
 130|