wok view linld/stuff/src/CRTL.H @ rev 20534

Add util-linux-losetup
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Nov 26 09:46:23 2018 +0100 (2018-11-26)
parents a5b6457fb890
children 65366955881f
line source
1 // This file is distributed under GPL
2 //
3 // Bare bones of C runtime library
5 #define MK_FP(seg,ofs) ((void _seg *)(seg) + (void near *)(ofs))
6 #define FP_SEG(fp) ((unsigned) (void _seg*) (void far*)(fp))
7 #define FP_OFF(fp) ((unsigned) (fp))
8 #define NULL 0
10 const unsigned MIN_STACK = 0x400;
11 const unsigned MAX_MALLOC = 0xF000;
13 const char A_RDONLY = 1; // for fileattr()
14 const char A_HIDDEN = 2;
15 const char A_SYSTEM = 4;
16 const char A_LABEL = 8;
17 const char A_DIRECTORY = 16;
18 const char A_ARCHIVE = 32;
21 const char O_RDONLY = 0; // for open()
22 const char O_BINARY = 0;
24 extern char text_start; extern char text_end;
25 extern char data_start; extern char data_end;
26 extern char bss_start; extern char bss_end;
27 extern char* heap_top;
29 void parse_cmdline();
30 extern pascal void strcatb(const char* a,const char* b);
31 extern pascal int strhead(const char* a,const char* head);
32 extern pascal int fileattr(const char* name);
33 //extern "C" int open(const char* name, int flags);
34 extern pascal int open(const char* name);
35 extern pascal int close(int fd);
36 extern pascal int read(int fd, void* data, int sz);
37 extern pascal long lseekset(int fd, unsigned long sz);
38 extern pascal int puts(const char* s);
39 extern pascal unsigned long strtol(const char *s);
41 // Extensions
42 #define cli() do { asm { cli } } while(0)
43 #define sti() do { asm { sti } } while(0)
44 #define int3() do { asm { db 0cch } } while(0)
45 #define nop() do { asm { db 90h } } while(0)
46 extern char no_exit;
47 extern pascal int die(const char* msg);
48 //extern "C" char* malloc_or_die(unsigned size);
49 //extern "C" unsigned long* malloc_bufv_or_die(struct image_himem *m);
50 extern pascal int malloc_or_die(unsigned size);
51 extern pascal int malloc_bufv_or_die(struct image_himem *m);
52 extern pascal void set_cmdline(const char *filename);