wxWidgets/include/wx/palmos/missing.h
Dimitri Schoolwerth 80fdcdb90e No changes, synchronised source names that appear commented at the top of files with the actual path to the files.
Fixed commented names (path, filename, and extension) of files in include/ and src/. Prepended the names in src/ with "src/" everywhere, while starting those in include/wx/ with "wx/".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:14:35 +00:00

429 lines
13 KiB
C

/******************************************************************************
* Name: wx/palmos/missing.h
* Purpose: the missing declarations for wxPalm
* Author: Yunhui Fu
* Created: 2007-10-18
* Modified by:
* RCS-ID: $Id$
* Copyright: (c) 2007 Yunhui Fu
* Licence: wxWindows licence
******************************************************************************/
#ifndef _PALMOS_STDIO_FAKE_H
#define _PALMOS_STDIO_FAKE_H
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <PalmTypes.h>
#include <MemoryMgr.h> // Core/System/
#include <StringMgr.h> // Core/System/
#include <UIResources.h> // alertRscType,MenuRscType
#include <ErrorMgr.h>
#include <DataMgr.h>
#ifdef __cplusplus
#define _PSF_BEGIN_EXTERN_C extern "C" {
#define _PSF_END_EXTERN_C }
#else
#define _PSF_BEGIN_EXTERN_C
#define _PSF_END_EXTERN_C
#endif
#if __WXPALMOS6__
#include <wchar.h> // wint_t
#include <unistd.h> // access(), rmdir()
#include <time.h>
#include <StatusBar.h>
#include <Loader.h>
#include <PalmTypesCompatibility.h> // UInt8,UInt16,...
#else
#if !defined(__MWERKS__)
#include <PenInputMgr.h>
#endif
#define uint32_t UInt32
#define uint16_t UInt16
#define uint8_t UInt8
#endif // __WXPALMOS6__
#if __WXPALMOS6__
#define POS_VFSImportDatabaseFromFile(a,b,cardno,d) VFSImportDatabaseFromFile(a,b,d)
#define POS_VFSImportDatabaseFromFileCustom(a,b,cardno,d,e,f) VFSImportDatabaseFromFileCustom(a,b,d,e,f)
#define POS_VFSExportDatabaseToFile(a,b,cardno,d) VFSExportDatabaseToFile(a,b,d)
#define POS_VFSExportDatabaseToFileCustom(a,b,cardno,d,e,f) VFSExportDatabaseToFileCustom(a,b,d,e,f)
#define POS_DmGetResource(a,b,c) DmGetResource(a,b,c)
#define POS_FrmSetMenu(a,b,c) FrmSetMenu(a,b,c)
#define POS_FrmCustomAlert(a,b,c,d,e) FrmCustomAlert(a,b,c,d,e)
#define POS_MemNumRAMHeaps() MemNumRAMHeaps()
#define POS_SysBatteryInfo(a,b,c,d,e,f,g,h) SysBatteryInfo(a,b,c,d,e,f,g,h)
#else // __WXPALMOS5__
#define POS_VFSImportDatabaseFromFile(a,b,cardno,d) VFSImportDatabaseFromFile(a,b,cardno,d)
#define POS_VFSImportDatabaseFromFileCustom(a,b,cardno,d,e,f) VFSImportDatabaseFromFileCustom(a,b,cardno,d,e,f)
#define POS_VFSExportDatabaseToFile(a,b,cardno,d) VFSExportDatabaseToFile(a,b,d)
#define POS_VFSExportDatabaseToFileCustom(a,b,cardno,d,e,f) VFSExportDatabaseToFileCustom(a,b,cardno,d,e,f)
#define POS_DmGetResource(a,b,c) DmGetResource(b,c)
#define POS_FrmSetMenu(a,b,c) FrmSetMenu(a,c)
#define POS_FrmCustomAlert(a,b,c,d,e) FrmCustomAlert(b,c,d,e)
#define POS_MemNumRAMHeaps() MemNumRAMHeaps(0)
#define POS_SysBatteryInfo(a,b,c,d,e,f,g,h) SysBatteryInfo(a,b,c,e,f,g,h)
#define MemCardInfoV40 MemCardInfo
#define FileOpenV50 FileOpen
#define ExgDBWriteV40 ExgDBWrite
#define DmSortRecordInfoPtr SortRecordInfoPtr
#define ErrFatalErrorInContext(fileName, lineNum, errMsg) ErrDisplayFileLineMsg(fileName, lineNum, errMsg)
#endif // __WXPALMOS6__
_PSF_BEGIN_EXTERN_C
#if __WXPALMOS5__
#if defined(__MWERKS__)
//#include <unix_stdarg.h>
#endif
#if 1
#define strcpy(x,y) StrCopy((char*)(x),(char*)(y))
#define strncpy(x,y,z) StrNCopy((x),(y),(z))
#define strcmp(x,y) StrCompare((x),(y))
#define strcat(x,y) StrCat((x),(y))
#define strlen(x) StrLen((char*)(x))
#define strchr(x,y) StrChr((x),(y))
#define strstr(x,y) StrStr((x),(y))
#define strcasecmp(x,y) StrCaselessCompare((x),(y))
#define memcpy(x,y,z) ((0 == MemMove((x),(void *)(y),(z))) ? (x) : (0))
#define memset(x,y,z) (MemSet((x),(z),(y)))
#define memcmp(x,y,z) (MemCmp((x),(y),(z)))
#endif
#include "sections.h"
#ifndef int8_t
#define int8_t char
#define int16_t short
#define int64_t long long
#define uint64_t unsigned int64_t
#endif
#define wint_t int
#define ssize_t long
#define size_t uint32_t
#define off_t ssize_t
#if 0
#undef malloc
#undef realloc
#undef free
#define malloc(x) MemPtrNew(x)
#define free(x) MemPtrFree(x)
void * realloc (void *p, size_t newsize);
#endif
char * strdup (const char *old);
// copy from Core/System/Unix/unix_stdio.h
#ifndef _STDLIB
#define sprintf StrPrintF
#define vsprintf(x,y,z) StrVPrintF(x,(const Char *)y,z)
#else
int vsprintf(char *, const char *, _Va_list);
#endif
int sscanf(const char *, const char *, ...);
///////////////////// time ////////////////////
#define time_t uint64_t
time_t time(time_t *T);
struct tm {
int8_t tm_gmtoff;
int8_t tm_isdst;
uint8_t tm_sec;
uint8_t tm_min;
uint8_t tm_hour;
uint8_t tm_wday;
uint8_t tm_mday;
uint8_t tm_mon;
uint16_t tm_yday;
uint64_t tm_year;
};
#define HAVE_LOCALTIME_R 1
extern struct tm *localtime (const time_t *CLOCK); // datetime.cpp: GetTmNow(void)
extern struct tm *localtime_r (const time_t *CLOCK, struct tm *RES);
#define HAVE_GMTIME_R 1
extern struct tm *gmtime (const time_t *CLOCK);
extern struct tm *gmtime_r (const time_t *CLOCK, struct tm *RES);
extern time_t mktime (struct tm *TIMP);
double difftime (time_t TIM1, time_t TIM2);
char *ctime(const time_t *CLOCK);
char *ctime_r(const time_t *CLOCK, char *BUF);
//#define HAVE_STRFTIME 1
extern size_t strftime(char *S, size_t MAXSIZE, const char *FORMAT, const struct tm *TIMP);
///////////////////// locale.h ////////////////////
struct lconv
{
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
};
char *setlocale(int CATEGORY, const char *LOCALE);
struct lconv *localeconv(void);
char *_setlocale_r(void *REENT, int CATEGORY, const char *LOCALE);
struct lconv *_localeconv_r(void *REENT);
///////////////////// stdlib.h ////////////////////
#if !defined(__MWERKS__)
#if !defined(__WCHAR_TYPE__) || \
(!defined(__GNUC__) || wxCHECK_GCC_VERSION(2, 96))
#define wchar_t int
#else /* __WCHAR_TYPE__ and gcc < 2.96 */
#define wchar_t __WCHAR_TYPE__
#endif /* __WCHAR_TYPE__ */
#endif
int _watoi(wchar_t * nptr);
long _watol(wchar_t * nptr);
double _watof(wchar_t *nptr);
#define watoi(a) _watoi((wchar_t *)(a))
#define watol(a) _watol((wchar_t *)(a))
#define watof(a) _watof((wchar_t *)(a))
int mbstowcs(wchar_t *PWC, const char *S, size_t N);
int wcstombs(const char *S, wchar_t *PWC, size_t N);
///////////////////// fcntl.h ////////////////////
#define O_RDONLY 0x01
#define O_WRONLY 0x02
#define O_RDWR 0x04
#define O_APPEND 0x08
#define O_CREAT 0x10
#define O_TRUNC 0x20
#define O_EXCL 0x40
#define O_SYNC 0x80
// io.h
int open (const char*, int, ...);
int read (int, void*, unsigned int);
int write (int, const void*, unsigned int);
int close (int);
long lseek (int, long, int);
///////////////////// stdio.h ////////////////////
int remove(const char *FILENAME);
int rename(const char *OLD, const char *NEW);
///////////////////// unistd.h ////////////////////
int access (const char *path, int amode);
int rmdir (const char *path);
///////////////////// FILE ////////////////////
#ifndef NULL
#define NULL ((void *)(0))
#endif
#define FILE void
#undef stdin
#undef stdout
#undef stderr
#define stdin NULL
#define stdout NULL
#define stderr NULL
#define SEEK_SET 0 /* set file offset to offset */
#define SEEK_CUR 1 /* set file offset to current plus offset */
#define SEEK_END 2 /* set file offset to EOF plus offset */
FILE * fopen (const char *_name, const char *_type);
int fclose (FILE *);
size_t fread (void *buf, size_t _size, size_t _n, FILE *);
size_t fwrite (const void *buf , size_t _size, size_t _n, FILE *);
int fseek (FILE *, long, int);
long ftell ( FILE *);
int feof (FILE *);
int ferror (FILE *);
void clearerr (FILE *);
FILE *freopen(const char *fn, const char *mode, FILE *fp);
//FILE *_freopen_r(struct _reent *PTR, const char *fn, const char *mode, FILE *fp);
extern int fflush (FILE *FP);
extern int fputs (const char *S, FILE *FP);
extern int fputc (int CH, FILE *FP);
//int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
//int sprintf(char *str, const char *format, ...);
//int snprintf(char *str, size_t size, const char *format, ...);
//int vfprintf(FILE * restrict stream, const char * restrict format, va_list ap);
//int vsprintf(char * restrict str, const char * restrict format, va_list ap);
//int vsnprintf(char * restrict str, size_t size, const char * restrict format, va_list ap);
int vsscanf (const char *s, const char *format, va_list param);
///////////////////// string ////////////////////
char *strerror(int ERRNUM);
///////////////////// ctype.h ////////////////////
extern int isascii(int C);
///////////////////// stdlib ////////////////////
void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
void qsort_r(void *base, size_t nmemb, size_t size, void *thunk, int (*compar)(void *, const void *, const void *));
//int heapsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
//int mergesort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
void *bsearch(const void *key, const void *base, size_t nmemb,size_t size, int (*compar)(const void *, const void *));
char *getenv(const char *NAME);
double atof(const char *S);
double strtod(const char *STR, char **TAIL);
double _strtod_r(void *REENT, const char *STR, char **TAIL);
///////////////////// math.h ////////////////////
#define __IMPORT
union __dmath
{
unsigned long i[2];
double d;
};
union __fmath
{
unsigned long i[1];
float f;
};
union __ldmath
{
unsigned long i[4];
long double ld;
};
#if defined(__GNUC__) && \
( (__GNUC__ >= 4) || \
( (__GNUC__ >= 3) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 3) ) )
/* gcc >= 3.3 implicitly defines builtins for HUGE_VALx values. */
#ifndef HUGE_VAL
#define HUGE_VAL (__builtin_huge_val())
#endif
#ifndef HUGE_VALF
#define HUGE_VALF (__builtin_huge_valf())
#endif
#ifndef HUGE_VALL
#define HUGE_VALL (__builtin_huge_vall())
#endif
#else /* !gcc >= 3.3 */
/* No builtins. Use floating-point unions instead. Declare as an array
without bounds so no matter what small data support a port and/or
library has, the reference will be via the general method for accessing
globals. */
#ifndef HUGE_VAL
extern __IMPORT const union __dmath __infinity[];
#define HUGE_VAL (__infinity[0].d)
#endif
#ifndef HUGE_VALF
extern __IMPORT const union __fmath __infinityf[];
#define HUGE_VALF (__infinityf[0].f)
#endif
#ifndef HUGE_VALL
extern __IMPORT const union __ldmath __infinityld[];
#define HUGE_VALL (__infinityld[0].ld)
#endif
#endif /* !gcc >= 3.3 */
#undef __IMPORT
///////////////////// PalmOS6 ////////////////////
#define status_t Err
// TimeMgr.h
time_t SysTimeToMilliSecs(time_t systime);
time_t SysTimeInSecs(time_t secs);
///////////////////// END ////////////////////
#endif // __WXPALMOS5__
///////////////////// wctype.h ////////////////////
extern int iswalnum(wint_t C);
extern int iswalpha(wint_t C);
extern int iswcntrl(wint_t C);
extern int iswdigit(wint_t C);
extern int iswgraph(wint_t C);
extern int iswlower(wint_t C);
extern int iswprint(wint_t C);
extern int iswpunct(wint_t C);
extern int iswspace(wint_t C);
extern int iswupper(wint_t C);
extern int iswxdigit(wint_t C);
extern wint_t towlower(wint_t C);
extern wint_t towupper(wint_t C);
extern size_t wcsftime(wchar_t *strDest, size_t maxsize, const wchar_t *format, const struct tm *timeptr);
size_t wcslen (const wchar_t * str);
wchar_t * wcscpy (wchar_t * dst, const wchar_t * src);
wchar_t * wcsncpy (wchar_t * dst, const wchar_t * src, size_t n);
wchar_t * wcscat (wchar_t * dst, const wchar_t * src);
wchar_t * wcsncat (wchar_t * dst, const wchar_t * src, size_t n);
int wcscmp (const wchar_t * str1, const wchar_t * str2);
int wcsncmp (const wchar_t * str1, const wchar_t * str2, size_t n);
wchar_t * wcschr (const wchar_t * str, const wchar_t chr);
int wcscoll (const wchar_t *str1, const wchar_t * str2);
size_t wcsxfrm (wchar_t * str1, const wchar_t * str2, size_t n);
wchar_t * wcsrchr (const wchar_t * str, wchar_t chr);
wchar_t * wcspbrk (const wchar_t * str, const wchar_t * set);
size_t wcsspn (const wchar_t * str, const wchar_t * set);
size_t wcscspn (const wchar_t * str, const wchar_t * set);
wchar_t * wcsstr (const wchar_t * str, const wchar_t * pat);
wchar_t * wcstok (wchar_t * str, const wchar_t * set, wchar_t ** );
long wcstol (const wchar_t * str, wchar_t ** end, int base);
unsigned long wcstoul (const wchar_t * a, wchar_t ** b, int c);
double wcstod (const wchar_t * a, wchar_t ** b);
char * setlocale (int category, const char *locale);
#define O_BINARY 0x00 /* for DOS compability */
extern int eof(int fd);
//extern int remove(const char *fn);
extern int access(const char *path, int amode);
extern off_t lseek(int fildes, off_t offset, int whence);
//TxtCharIsAlNum
//#define isalpha(a) TxtCharIsAlpha(a)
//TxtCharIsCntrl TxtCharIsDelim TxtCharIsDigit TxtCharIsGraph TxtCharIsHardKey TxtCharIsHex TxtCharIsLower TxtCharIsPrint TxtCharIsPunct TxtCharIsSpace TxtCharIsUpper
#include "pfall.h"
_PSF_END_EXTERN_C
#endif // _PALMOS_STDIO_FAKE_H