SourceForge.jp

dkutilDefinedC.h

説明を見る。
00001 
00010 #ifndef _dkutilDefinedC__
00011 #define _dkutilDefinedC__
00012 
00013 
00014 //**********************************************************
00015 //共通の定義
00016 //**********************************************************
00017 
00019 #define DKINGYO_NOT_MOUNTED -100
00020 
00021 #define DKINGYO_NO_DEFINED_FUNCTION DKINGYO_NOT_MOUNTED
00022 
00023 
00024 
00025 
00026 //**********************************************************
00027 //識別するための定義
00028 //**********************************************************
00029 
00030 
00031 
00032 enum edkOS{//OSのバージョンを取得するための列挙
00033     enuWindows3_1 = 1,
00034     enuWindowsNT3_51,
00035     enuWindowsNT4_0,
00036     enuWindows95,
00037     enuWindows98,
00038     enuWindows2000,
00039     enuWindowsMe,
00040     enuWindowsXP,
00042     enuWindows_NET,
00043 
00044 };
00045 
00046 
00047 enum edkOSExtension{
00049     edkOSE_OSR2 = 1,
00051     edkOSE_edkSE,
00053     edkOSE_HomeEditon,
00055     edkOSE_Professional,
00057     edkOSE_DataCenter_Server,
00059     edkOSE_Advanced_Server,
00060     edkOSE_Enterprise_Server,
00061     edkOSE_Web_Server,
00063     edkOSE_Server,
00064 
00065 };
00066 
00068 enum{
00069     enuDKINGYO_BMPFILEHEADER_ADR = 1,
00070     enuDKINGYO_BMPCOREHEADER_ADR,
00071     enuDKINGYO_BMPINFOHEADER_ADR,
00072     enuDKINGYO_BMPPALLETE_ADR,
00073     enuDKINGYO_BMPGRAPH_ADR,
00075     enuDKINGYO_ISBMPFILE_EXACT_CHECK,
00077     enuDKINGYO_ISBMPFILE_CAMOUFLAGE_CHECK,
00078 };
00079 
00080 
00081 
00083 enum{
00085     enuSTRLENGTH_INT_DU = 1,//ここは絶対に1ですからね!!いじっちゃダメ!
00087     enuSTRLENGTH_UINT_DU,
00089     enuSTRLENGTH_LONGLONG_DU,
00091     enuSTRLENGTH_ULONGLONG_DU,
00093     enuSTRLENGTH_DOUBLE,
00094 };
00095 
00096 
00102 enum edkResult{
00104     edk_FAILED = -1,
00106     edk_SUCCEEDED = 0,
00108     edk_Not_Found,
00110     edk_FileNotFound,
00112     edk_Not_Selected,
00114     edk_ArgumentException,
00116     edk_ParsingError,
00117 
00122     edk_LogicError,
00124     edk_BufferOverFlow,
00126     edk_OutputBufferWasLost,
00128     edk_InputBufferWasLost,
00130     edk_FileSignatureException,
00132     edk_Not_Satisfactory,
00134     edk_Not_Defined_Function,
00135 };
00136 
00137 #define DKUTIL_SUCCEEDED(s) (s==edk_SUCCEEDED)
00138 #define DKUTIL_FAILED(s) (s)//(s != edk_SUCCEEDED)
00139 
00140 
00141 //**********************************************************
00142 //デフォルト数の設定用定数の定義
00143 //**********************************************************
00144 enum{
00146     enuExtendVaListLength = 256,
00148     enuDefaultExpandSize = 100,
00149 };
00150 
00151 //**********************************************************
00152 //型定義
00153 //**********************************************************
00154 
00155 //共通型
00156 typedef void (*VOIDFUNC)(void); 
00157 typedef void (*VOIDARGFUNC)(void *);
00158 typedef void (*VOIDARGFUNCFLAG)(void *,int);
00159 
00161 typedef void (*OGG_CALLBACK_DU)(char *ptr,size_t permit_num,size_t offset);
00162 
00163 
00164 //CPUClockオブジェクト?型(実はオブジェクトとクラスの違いがわかってない私。
00165 
00166 typedef BOOL (*ISTYPE_DU)(void);
00167 typedef void (*NAMETYPE_DU)(char *,size_t);
00168 typedef long (*CPUCLOCK_DU)(void);
00169 
00170 typedef struct dCPUInfoObject{
00171     ISTYPE_DU isMMX;
00172     ISTYPE_DU isMMX2;
00173     ISTYPE_DU isSSE;
00174     ISTYPE_DU isSSE2;
00175     ISTYPE_DU is3DNOW;
00176     ISTYPE_DU isE3DNOW;
00177     ISTYPE_DU isFPU;
00178     ISTYPE_DU isTSC;
00179     ISTYPE_DU isCPUID;
00180     CPUCLOCK_DU GetCPUClock;
00181     NAMETYPE_DU CopyCPUName;
00182     NAMETYPE_DU CopyCPUType;
00183     NAMETYPE_DU CopyCPUInfo;
00184 }DKINGYOUTILITY2_CPU_INFO;
00185 
00186 
00187 
00188 //SingleList Object type
00189 #if 0
00190 
00191 typedef void (*SLIST_PUSH_DU)(size_t,const char *,size_t);
00193 typedef void (*SLIST_POP_DU)(size_t,void);
00195 typedef char *(*SLIST_GET_ITERATOR_DU)(size_t,void);
00197 typedef char *(SLIST_NEXT_DU)(size_t,const char *);
00198 #endif
00199 
00200 typedef struct dSingleListObject{
00201     size_t handle;
00202     int (*push_back)(struct dSingleListObject *,const char *,size_t);
00203     int (*push_front)(struct dSingleListObject *,const char *,size_t);
00204     int (*pop_front)(struct dSingleListObject *);
00205     int (*clear)(struct dSingleListObject *);
00206     char *(*begin)(struct dSingleListObject *);
00207     char *(*end)(struct dSingleListObject *);
00208     char *(*next)(struct dSingleListObject *,char *);
00209     int (*destructor)(struct dSingleListObject *);
00210     int (*constructor)(struct dSingleListObject *);
00211     char *(*reference_ptr)(struct dSingleListObject *,char *);
00212     void (*set_size)(struct dSingleListObject *,size_t );
00213 }DKINGYOUTILITY2_SINGLE_LIST;
00214 
00215 
00216 
00217 
00219 enum edkParsedStringType{
00220     enuDU2CSV_STRING = 1,
00222     enuDU2CSV_STRING_32MORE,
00223     enuDU2CSV_INT,
00224     enuDU2CSV_LONGLONG,
00225     enuDU2CSV_ULONGLONG,
00226     enuDU2CSV_DOUBLE,
00227 };
00228 
00230 #define DCSVSTRUCTURE_PERMITSIZE_OFFSET_EXTENTION_NUM 3
00231 
00232 #define DCSVSTRUCTURE_DEFAULT_STRING_BUFF_SIZE 32
00233 
00234 typedef struct dCSVStructure{
00235     size_t x,y;
00236     int datatype;
00237     union{
00238         union{
00239             union{
00240                 char str[DCSVSTRUCTURE_DEFAULT_STRING_BUFF_SIZE];
00241                 size_t permitsize[4];//添え字の3にptrの確保したサイズをぶち込めばいいな!!
00242             };
00243             char *ptr;
00244         };
00245         int i;
00246         LONGLONG ll;
00247         ULONGLONG ull;
00248         double dbl;
00249     };
00250     //size_t access_permit;//本当はstrとptrのunion内に入れたいけど
00251     //ポインタは48BITとかあるらしいので、外部で我慢。
00252     void (*constructor)(struct dCSVStructure *,int,size_t);
00253     void (*destructor)(struct dCSVStructure *);
00254 }DKINGYOUTILITY2_CSV_STRUCTURE;
00255     
00256 
00257     
00258     
00259     
00260 
00261 //**********************************************************
00262 //dKingyoUtility2と同じ マクロとか
00263 //**********************************************************
00264 
00266 #define MB(str) MessageBox(NULL,str,"Message",MB_OK)//MessageBox
00267 
00268 #define MB2(s,title) MessageBox(NULL,s,title,MB_OK);
00269 
00270 #define ODS(str) OutputDebugString(str)//OutputDebugString
00271 
00273 #define SWAP_NUM(a,b) \
00274     a = b - a ;\
00275     b -= a ;\
00276     a += b 
00277 
00283 
00284 #define SM_OFFSET(p_type,field)     ((unsigned int)&(((p_type)NULL)->field))
00285 
00287 #define SET_RECT(rect, l, t, r, b) \
00288 {\
00289     rect##.left   = l;\
00290     rect##.top    = t;\
00291     rect##.right  = r;\
00292     rect##.bottom = b;\
00293 }
00294 
00295 #define NULL_CHAR_ARRAY(s) memset((void *)s,0,sizeof(s))
00296 
00324 
00325 #define SET_VA_LIST(buff,buffnum,origin) \
00326     va_list VaList;\
00327     va_start( VaList , origin ) ;\
00328     if(-1==_vsnprintf( buff ,buffnum, origin , VaList )){\
00329         buff[buffnum - 1] = '\0';\
00330     }\
00331     va_end( VaList ) 
00332 
00333 #ifdef __cplusplus
00334 #define DKUTIL_SAFE_REALLOC(b,s) ::realloc(b,s)
00335 #define DKUTIL_SAFE_MALLOC(s) ::malloc(s)
00336 #define DKUTIL_SAFE_FREE(a) if(a){::free(a);a=NULL;}
00337     
00339 #define DKUTIL_STRUCTURE_INIT(s) ::memset(&(s),0,sizeof(s))
00340 #else
00341 
00342 #define DKUTIL_SAFE_REALLOC(b,s) realloc(b,s)
00343 #define DKUTIL_SAFE_MALLOC(s) malloc(s)
00344 #define DKUTIL_SAFE_FREE(a) if(a){free(a);a=NULL;}
00345 #define DKUTIL_STRUCTURE_INIT(s) memset(&(s),0,sizeof(s))
00346 #endif
00347 
00349 #define DKUTIL_ARRAY_NUMOF(array) (sizeof(array)/sizeof(array[0]))
00350 
00351 
00352 
00353 #endif // end of include once

dkutil 1.02リリース前 d金魚専用マニュアルバージョンに対してSun Dec 28 21:23:07 2003に生成されました。 doxygen 1.3.5