1 | /*
|
---|
2 | * æ3ñ TOPPERSpACfAEAvP[VJReXg
|
---|
3 | * ¼Y õm³ñÌulwIP ÌÚAvðx[Xɵܵ½B
|
---|
4 | * http://www.toppers.jp/contest.html
|
---|
5 | *
|
---|
6 | * @(#) $Id: sys_arch.h 164 2016-03-07 11:33:50Z coas-nagasima $
|
---|
7 | */
|
---|
8 | #ifndef __ARCH_SYS_ARCH_H__
|
---|
9 | #define __ARCH_SYS_ARCH_H__
|
---|
10 |
|
---|
11 | #include <kernel.h>
|
---|
12 | #include <stdio.h>
|
---|
13 | #include <stdlib.h>
|
---|
14 | #ifndef _MSC_VER
|
---|
15 | #include <sys/types.h>
|
---|
16 | #include <sys/time.h>
|
---|
17 | #else
|
---|
18 | #include <time.h>
|
---|
19 | #include <io.h>
|
---|
20 | #endif // _MSC_VER
|
---|
21 | #include <ff.h>
|
---|
22 |
|
---|
23 | typedef ID sys_sem_t;
|
---|
24 | typedef ID sys_mbox_t;
|
---|
25 | typedef ID sys_thread_t;
|
---|
26 |
|
---|
27 | #define sys_sem_valid( x ) ( ( ( *x ) == (sys_sem_t)NULL) ? 0 : 1 )
|
---|
28 | #define sys_sem_set_invalid( x ) ( ( *x ) = (sys_sem_t)NULL )
|
---|
29 | #define sys_mbox_valid( x ) ( ( ( *x ) == (sys_mbox_t)NULL) ? 0 : 1 )
|
---|
30 | #define sys_mbox_set_invalid( x ) ( ( *x ) = (sys_mbox_t)NULL )
|
---|
31 |
|
---|
32 | extern void *sys_malloc(size_t size);
|
---|
33 | extern void *sys_calloc(size_t count, size_t size);
|
---|
34 | extern void *sys_realloc(void *ptr, size_t size);
|
---|
35 | extern void sys_free(void *mem);
|
---|
36 | extern void *sys_trim(void *mem, size_t size);
|
---|
37 |
|
---|
38 | extern void sys_sleep(uint32_t ms);
|
---|
39 |
|
---|
40 | /* let sys.h use binary semaphores for mutexes */
|
---|
41 | #define LWIP_COMPAT_MUTEX 1
|
---|
42 |
|
---|
43 | extern FIL *sys_fopen(const char *, const char *);
|
---|
44 | #define fopen sys_fopen
|
---|
45 | extern long sys_fseek(FIL *, long, long);
|
---|
46 | #define fseek sys_fseek
|
---|
47 | extern long sys_lseek(FIL *, long offset, int origin);
|
---|
48 | #define lseek sys_lseek
|
---|
49 | extern long sys_ftell(FIL *);
|
---|
50 | #define ftell sys_ftell
|
---|
51 | extern long sys_fclose(FIL *);
|
---|
52 | #define fclose sys_fclose
|
---|
53 | extern size_t sys_fread(void *, size_t, size_t, FIL *);
|
---|
54 | #define fread sys_fread
|
---|
55 | extern size_t sys_fwrite(const void *, size_t, size_t, FIL *);
|
---|
56 | #define fwrite sys_fwrite
|
---|
57 | extern long sys_fputs(const char *, FIL *);
|
---|
58 | #define fputs sys_fputs
|
---|
59 | extern long sys_fputc(long, FIL *);
|
---|
60 | #define fputc sys_fputc
|
---|
61 | extern long sys_fflush(FIL *);
|
---|
62 | #define fflush sys_fflush
|
---|
63 | extern char *sys_fgets(char *, long, FIL *);
|
---|
64 | #define fgets sys_fgets
|
---|
65 | extern long sys_ferror(FIL *);
|
---|
66 | #define ferror sys_ferror
|
---|
67 | extern long sys_rewind(FIL *);
|
---|
68 | #define rewind sys_rewind
|
---|
69 | extern long sys_fprintf(FIL *, const char *, ...);
|
---|
70 | #define fprintf sys_fprintf
|
---|
71 |
|
---|
72 | extern void sys_exit(int error);
|
---|
73 | #define exit sys_exit
|
---|
74 |
|
---|
75 | #undef stdin
|
---|
76 | extern FIL *sys_stdin;
|
---|
77 | #define stdin sys_stdin
|
---|
78 | #undef stdout
|
---|
79 | extern FIL *sys_stdout;
|
---|
80 | #define stdout sys_stdout
|
---|
81 | #undef stderr
|
---|
82 | extern FIL *sys_stderr;
|
---|
83 | #define stderr sys_stderr
|
---|
84 | #define FILE FIL
|
---|
85 |
|
---|
86 | #define malloc(sz) sys_malloc(sz)
|
---|
87 | #define calloc(cnt, sz) sys_calloc(cnt, sz)
|
---|
88 | #define realloc(ptr, sz) sys_realloc(ptr, sz)
|
---|
89 | #define free(ptr) sys_free(ptr)
|
---|
90 |
|
---|
91 | extern time_t sys_time(time_t *t);
|
---|
92 | #define time sys_time
|
---|
93 | extern struct tm *sys_gmtime(const time_t *pt);
|
---|
94 | #define gmtime sys_gmtime
|
---|
95 | struct tm *gmtime_r(const time_t *pt, struct tm* tm);
|
---|
96 | extern void sys_set_system_time(time_t t);
|
---|
97 |
|
---|
98 | #endif /* __ARCH_SYS_ARCH_H__ */
|
---|