| 1 | // libc.h: Replacement for native/libc.c
|
| 2 |
|
| 3 | #ifndef LIBC_H
|
| 4 | #define LIBC_H
|
| 5 |
|
| 6 | #include <stdlib.h>
|
| 7 |
|
| 8 | #include "mycpp/runtime.h"
|
| 9 |
|
| 10 | namespace libc {
|
| 11 |
|
| 12 | // TODO: SHARE with pyext
|
| 13 | inline void print_time(double real, double user, double sys) {
|
| 14 | fprintf(stderr, "real\t%.3f\n", real);
|
| 15 | fprintf(stderr, "user\t%.3f\n", user);
|
| 16 | fprintf(stderr, "sys\t%.3f\n", sys);
|
| 17 | }
|
| 18 |
|
| 19 | BigStr* realpath(BigStr* path);
|
| 20 |
|
| 21 | BigStr* gethostname();
|
| 22 |
|
| 23 | int fnmatch(BigStr* pat, BigStr* str, int flags = 0);
|
| 24 |
|
| 25 | List<BigStr*>* glob(BigStr* pat);
|
| 26 |
|
| 27 | Tuple2<int, int>* regex_first_group_match(BigStr* pattern, BigStr* str,
|
| 28 | int pos);
|
| 29 |
|
| 30 | List<int>* regex_search(BigStr* pattern, int cflags, BigStr* str, int eflags,
|
| 31 | int pos = 0);
|
| 32 |
|
| 33 | int wcswidth(BigStr* str);
|
| 34 | int get_terminal_width();
|
| 35 |
|
| 36 | } // namespace libc
|
| 37 |
|
| 38 | #endif // LIBC_H
|