Changeset 1153


Ignore:
Timestamp:
04/24/11 04:52:52 (2 years ago)
Author:
reyalP
Message:

include stdlib.h in wrappers to keep prototypes in sync and avoid duplicating structures

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/lolevel.h

    r1023 r1153  
    7272extern int _Open (const char *name, int flags, int mode ); 
    7373extern int _Close (int fd); 
    74 extern int _Write (int fd, void *buffer, long nbytes); 
     74extern int _Write (int fd, const void *buffer, long nbytes); 
    7575extern int _Read (int fd, void *buffer, long nbytes); 
    7676extern int _Lseek (int fd, long offset, int whence); 
     
    221221 
    222222/* time */ 
    223 extern int _utime(char *file, void *newTimes); 
     223extern int _utime(const char *file, void *newTimes); 
    224224extern unsigned long _time(unsigned long *timer); 
    225225extern void *_localtime(const unsigned long *_tod); 
     
    241241extern int   _closedir(void *d); 
    242242extern void  _rewinddir(void *d); 
    243 extern int   _stat(char *name, void *pStat); 
     243extern int   _stat(const char *name, void *pStat); 
    244244extern unsigned long _GetDrive_ClusterSize(int drive); 
    245245extern unsigned long _GetDrive_TotalClusters(int drive); 
  • trunk/include/stdlib.h

    r1152 r1153  
    232232typedef struct { 
    233233    DIR_dryos *dh; 
     234    union { 
     235        struct dirent de; 
    234236#ifdef CAM_DRYOS_2_3_R39 
    235     char de_buf[64]; 
    236 #else 
    237     char de_buf[40]; 
    238 #endif 
     237        char de_buf[64]; 
     238#else 
     239        char de_buf[40]; 
     240#endif 
     241    }; 
    239242} DIR; 
    240243#endif 
  • trunk/platform/generic/wrappers.c

    r1152 r1153  
    55#include "math.h" 
    66#include "levent.h" 
     7#include "stdlib.h" 
    78 
    89//---------------------------------------------------------------------------- 
     
    9596 
    9697#ifndef CAM_DRYOS 
    97 void task_lock() 
    98 { 
    99     _taskLock(); 
    100 } 
    101  
    102 void task_unlock() 
    103 { 
    104     _taskUnlock(); 
     98long task_lock() 
     99{ 
     100    return _taskLock(); 
     101} 
     102 
     103long task_unlock() 
     104{ 
     105    return _taskUnlock(); 
    105106} 
    106107 
     
    338339} 
    339340 
    340 int write (int fd, void *buffer, long nbytes) 
     341int write (int fd, const void *buffer, long nbytes) 
    341342{ 
    342343    return _Write(fd, buffer, nbytes); 
     
    365366// directory wrappers 
    366367#ifndef CAM_DRYOS 
    367 void *opendir(const char* name) { 
     368DIR *opendir(const char* name) { 
    368369    return _opendir(name); 
    369370} 
    370 void* readdir(void *d) { 
     371struct dirent* readdir(DIR *d) { 
    371372    return _readdir(d); 
    372373} 
    373 int closedir(void *d) { 
     374int closedir(DIR *d) { 
    374375    return _closedir(d); 
    375376} 
    376377 
    377 void rewinddir(void *d) { 
     378void rewinddir(DIR *d) { 
    378379    return _rewinddir(d); 
    379380} 
    380381#else // dryos 
    381 // TODO duplicated in stdlib.h! 
    382 // structure returned by dryos 
    383 // actual size may vary depending on version 
    384 typedef struct { 
    385     int fh; 
    386     int unk[4]; 
    387 } DIR_dryos; 
    388  
    389 // struct returned by our wrappers around opendir 
    390 typedef struct { 
    391     DIR_dryos *dh; 
    392 #ifdef CAM_DRYOS_2_3_R39 
    393     char de_buf[64]; 
    394 #else 
    395     char de_buf[40]; 
    396 #endif 
    397 } DIR; 
    398  
    399382DIR *opendir(const char* name) { 
    400383    DIR *d; 
     
    406389    if(!d) { 
    407390        _closedir(dh); 
    408         return (void *)0; 
     391        return NULL; 
    409392    } 
    410393    d->dh = dh; 
     
    412395} 
    413396 
    414 void* readdir(DIR *d) { 
     397struct dirent * readdir(DIR *d) { 
    415398  _ReadFastDir(d->dh, d->de_buf); 
    416   return d->de_buf[0]? d->de_buf : (void*)0; 
     399  return d->de_buf[0]? &d->de : NULL; 
    417400} 
    418401 
     
    435418#endif // dryos dir functions 
    436419 
    437 int stat(char *name, void *pStat) { 
     420int stat(const char *name, struct stat *pStat) { 
    438421    return _stat(name, pStat); 
    439422} 
    440423 
    441 long fopen(const char *filename, const char *mode) { 
     424FILE *fopen(const char *filename, const char *mode) { 
    442425#ifdef CAM_DRYOS 
    443426    if(!filename || filename[0]!='A') { 
    444         return 0; 
     427        return NULL; 
    445428    } 
    446429#endif 
    447     return _Fopen_Fut(filename,mode); 
    448 } 
    449  
    450 long fclose(long f) { 
     430    return (FILE *)_Fopen_Fut(filename,mode); 
     431} 
     432 
     433long fclose(FILE *f) { 
    451434    return _Fclose_Fut((long)f); 
    452435} 
    453436 
    454 long fread(void *buf, long elsize, long count, long f) { 
     437long fread(void *buf, long elsize, long count, FILE *f) { 
    455438    return _Fread_Fut(buf,elsize,count,(long)f); 
    456439} 
    457440 
    458 long fwrite(const void *buf, long elsize, long count, long f) { 
     441long fwrite(const void *buf, long elsize, long count, FILE *f) { 
    459442    return _Fwrite_Fut(buf,elsize,count,(long)f); 
    460443} 
    461444 
    462 long fseek(long file, long offset, long whence) { 
     445long fseek(FILE *file, long offset, long whence) { 
    463446    return _Fseek_Fut((long)file,offset,whence); 
    464447} 
    465448 
    466 long feof(long file) { 
     449long feof(FILE * file) { 
    467450    return _Feof_Fut((long)file); 
    468451} 
    469452 
    470 long fflush(long file) { 
     453long fflush(FILE * file) { 
    471454    return _Fflush_Fut((long)file); 
    472455} 
    473456 
    474 char *fgets(char *buf, int n, long f) { 
     457char *fgets(char *buf, int n, FILE *f) { 
    475458    return _Fgets_Fut(buf,n,(int)f); 
    476459} 
    477460 
    478 long rename(const char *oldname, const char *newname) { 
     461int rename(const char *oldname, const char *newname) { 
    479462 return _RenameFile_Fut(oldname, newname); 
    480463} 
     
    605588} 
    606589 
    607 int utime(char *file, void *newTimes) { 
     590int utime(const char *file, struct utimbuf *newTimes) { 
    608591#if !CAM_DRYOS 
    609592  return _utime(file, newTimes); 
     
    629612} 
    630613 
    631 void *localtime(const unsigned long *_tod) { 
     614struct tm *localtime(const unsigned long *_tod) { 
    632615#if !CAM_DRYOS 
    633616    return _localtime(_tod); 
     
    639622} 
    640623 
    641 long strftime(char *s, unsigned long maxsize, const char *format, /*const struct tm*/ void *timp) { 
     624long strftime(char *s, unsigned long maxsize, const char *format, const struct tm *timp) { 
    642625        return _strftime(s,maxsize,format,timp); 
    643626} 
    644627 
    645 /*time_t*/ long mktime(/*struct tm*/ void *timp) { 
     628time_t mktime(struct tm *timp) { 
    646629#if !CAM_DRYOS 
    647630        return _mktime(timp); 
Note: See TracChangeset for help on using the changeset viewer.