Ejemplo n.º 1
0
/* Status of a link (by name).  */
int _lstat(const char *file, struct stat *st)
{
  struct kernel_stat kst;
  int rv = syscall_errno (SYS_lstat, file, &kst, 0, 0, 0, 0);
  _conv_stat (st, &kst);
  return rv;
}
Ejemplo n.º 2
0
void* sbrk(ptrdiff_t incr)
{
  static unsigned long heap_end;

  if (heap_end == 0) {
    long brk = syscall_errno(SYS_brk, 0, 0, 0, 0);
    if(brk == -1)
	    return (void*)-1;
    heap_end = brk;
  }

  if (syscall_errno(SYS_brk, heap_end + incr, 0, 0, 0) != heap_end + incr)
    return (void*)-1;

  heap_end += incr;
  return (void*)(heap_end - incr);
}
Ejemplo n.º 3
0
void* sbrk(ptrdiff_t incr)
{
  extern unsigned char _end; // Defined by linker
  static unsigned char* heap_end;

  if(heap_end == 0)
    heap_end = &_end;
  if(incr && syscall_errno(SYS_brk, heap_end+incr, 0, 0, 0) != heap_end+incr)
    return (void*)-1;

  heap_end += incr;
  return heap_end - incr;
}
Ejemplo n.º 4
0
void _exit(int exit_status)
{
  syscall_errno(SYS_exit, exit_status, 0, 0, 0);
  while (1);
}
Ejemplo n.º 5
0
int unlink(const char* name)
{
  return syscall_errno(SYS_unlink, name, 0, 0, 0);
}
Ejemplo n.º 6
0
int link(const char* old_name, const char* new_name)
{
  return syscall_errno(SYS_link, old_name, new_name, 0, 0);
}
Ejemplo n.º 7
0
int close(int file) 
{
  return syscall_errno(SYS_close, file, 0, 0, 0);
}
Ejemplo n.º 8
0
int lstat(const char* file, struct stat* st)
{
  return syscall_errno(SYS_lstat, file, st, 0, 0);
}
Ejemplo n.º 9
0
//------------------------------------------------------------------------
// openat                                                                
//------------------------------------------------------------------------
// Open file relative to given directory
int openat(int dirfd, const char* name, int flags, int mode)
{
  return syscall_errno(SYS_openat, dirfd, name, flags, mode);
}
Ejemplo n.º 10
0
ssize_t write(int file, const void* ptr, size_t len)
{
  return syscall_errno(SYS_write, file, ptr, len, 0);
}
Ejemplo n.º 11
0
off_t lseek(int file, off_t ptr, int dir)
{
  return syscall_errno(SYS_lseek, file, ptr, dir, 0);
}
Ejemplo n.º 12
0
int gettimeofday(struct timeval* tp, void* tzp)
{
  return syscall_errno(SYS_gettimeofday, tp, 0, 0, 0);
}
Ejemplo n.º 13
0
int faccessat(int dirfd, const char* file, int mode, int flags)
{
  return syscall_errno(SYS_faccessat, dirfd, file, mode, flags);
}
Ejemplo n.º 14
0
int access(const char* file, int mode)
{
  return syscall_errno(SYS_access, file, mode, 0, 0);
}
Ejemplo n.º 15
0
int fstatat(int dirfd, const char* file, struct stat* st, int flags)
{
  return syscall_errno(SYS_fstatat, dirfd, file, st, flags);
}
Ejemplo n.º 16
0
int open(const char* name, int flags, int mode)
{
  return syscall_errno(SYS_open, name, flags, mode, 0);
}
Ejemplo n.º 17
0
/* Read from a file.  */
ssize_t _read(int file, void *ptr, size_t len)
{
  return syscall_errno (SYS_read, file, ptr, len, 0, 0, 0);
}
Ejemplo n.º 18
0
int fstat(int file, struct stat* st)
{
  return syscall_errno(SYS_fstat, file, st, 0, 0);
}