add set_fileinfo()

git-svn-id: svn://kolibrios.org@6777 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
siemargl 2016-11-30 22:22:54 +00:00
parent a085348507
commit 01700771dd
3 changed files with 26 additions and 3 deletions

View File

@ -394,9 +394,9 @@ shared: $(NAME).dll libapp.a libdll.a
$(NAME).dll: $(LIB_OBJS) $(SRC_DEP) Makefile $(NAME).dll: $(LIB_OBJS) $(SRC_DEP) Makefile
$(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(LIB_OBJS) -lgcc --version-script libc.ver $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(LIB_OBJS) -lgcc --version-script libc.ver
#sed -e "s/ @[^ ]*//" libc.orig.def > libc.def #sed -e "s/ @[^ ]*//" libc.orig.def > libc.def
#sed -f cmd2.sed libc.def > mem #sed -f cmd2.sed libc.def > mem
#sed -f newlib.sed mem > libc.inc #sed -f newlib.sed mem > libc.inc
install: libc.dll libc.dll.a libapp.a libdll.a install: libc.dll libc.dll.a libapp.a libdll.a
mv -f libc.dll $(SDK_DIR)/bin mv -f libc.dll $(SDK_DIR)/bin

View File

@ -64,6 +64,7 @@ typedef struct
int create_file(const char *path); int create_file(const char *path);
int get_fileinfo(const char *path, fileinfo_t *info); int get_fileinfo(const char *path, fileinfo_t *info);
int set_fileinfo(const char *path, fileinfo_t *info);
int read_file(const char *path, void *buff, int read_file(const char *path, void *buff,
size_t offset, size_t count, size_t *reads); size_t offset, size_t count, size_t *reads);
int write_file(const char *path,const void *buff, int write_file(const char *path,const void *buff,

View File

@ -24,3 +24,25 @@ int get_fileinfo(const char *path, fileinfo_t *info)
return retval; return retval;
}; };
int set_fileinfo(const char *path, fileinfo_t *info)
{
int retval;
__asm__ __volatile__ (
"pushl $0 \n\t"
"pushl $0 \n\t"
"movl %1, 1(%%esp) \n\t"
"pushl %%ebx \n\t"
"pushl $0 \n\t"
"pushl $0 \n\t"
"pushl $0 \n\t"
"pushl $6 \n\t"
"movl %%esp, %%ebx \n\t"
"movl $70, %%eax \n\t"
"int $0x40 \n\t"
"addl $28, %%esp \n\t"
:"=a" (retval)
:"r" (path), "b" (info));
return retval;
};