Kaynağa Gözat

update Libc to support new operations with files

Ivan Denisov 4 yıl önce
ebeveyn
işleme
31176fe573

+ 8 - 0
BlackBox/_FreeBSDLinuxOpenBSD_/Lin/Mod/gen-Libc/Libc.txt.templ

@@ -61,6 +61,8 @@ MODULE LinLibc ["libc.so%%libver%%"];
 		P_tmpdir* = "/tmp";
 		
 		RLIMIT_STACK* = 3;
+		
+		UTIME_OMIT* = ASH(1, 30) - 2;
 
 		(* O_RDWR, O_NONBLOCK (intFlags) *)
 %%defs-fcntlo%%
@@ -136,6 +138,8 @@ MODULE LinLibc ["libc.so%%libver%%"];
 		rlimit* = RECORD [untagged]
 			rlim_cur*, rlim_max*: INTEGER;	(* rlim_t *)
 		END;
+		
+		TVP* = RECORD [untagged] access*, modification*: timespec_t END;
 
 (*
 	VAR
@@ -259,5 +263,9 @@ MODULE LinLibc ["libc.so%%libver%%"];
 	PROCEDURE [ccall] pclose* (stream: PtrFILE): int;
 
 	PROCEDURE [ccall] getrlimit* (resource: INTEGER; VAR rlim: rlimit);
+	
+	PROCEDURE [ccall] sendfile* (out_fd, in_fd: INTEGER; VAR [nil] offset: INTEGER; count: INTEGER): INTEGER;
+	PROCEDURE [ccall] utimensat* (fd: INTEGER; file: PtrSTR; VAR tvp: TVP; flags: SET): INTEGER;
+	PROCEDURE [ccall] mktime* (VAR tm: tmDesc): time_t;
 
 END LinLibc.

BIN
BlackBox/_Linux_/Lin/Mod/Libc.odc


+ 2 - 1
BlackBox/_Linux_/Lin/Mod/gen-Libc/Makefile

@@ -26,7 +26,8 @@ sigstksz:
 	grep "define SIGSTKSZ" ${INCDIR}/asm-generic/signal.h | awk '{print $$3}' | tr -d '\n' > $@
 
 defs-map:
-	./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/mman-common.h | grep "MAP_" > $@
+	./dumpdefs.py 2 1 s ${INCDIR}/linux/mman.h | grep "MAP_" > $@
+	./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/mman-common.h | grep "MAP_" >> $@
 	echo "		MAP_ANON* = MAP_ANONYMOUS;" >> $@
 
 defs-prot: