# syscall.c File Reference

`#include <ubixos/syscall.h>`
`#include <ubixos/syscalls.h>`
`#include <ubixos/sched.h>`
`#include <ubixos/types.h>`
`#include <ubixos/exec.h>`
`#include <ubixos/elf.h>`
`#include <ubixos/endtask.h>`
`#include <ubixos/time.h>`
`#include <sys/video.h>`
`#include <sys/trap.h>`
`#include <vfs/file.h>`
`#include <ubixfs/ubixfs.h>`
`#include <lib/string.h>`
`#include <lib/kprintf.h>`
`#include <lib/kmalloc.h>`
`#include <ubixos/vitals.h>`
`#include <mpi/mpi.h>`
`#include <vmm/vmm.h>`

Include dependency graph for syscall.c:

Go to the source code of this file.

## Data Structures

struct | _UbixUser

## Typedefs

typedef _UbixUser | UbixUser

## Functions

asm (".globl _sysCallNew \n""_sysCallNew: \n"" pusha \n"" push %ss \n"" push %ds \n"" push %es \n"" push %fs \n"" push %gs \n"" cmpl totalCalls,%eax \n"" jae invalidSysCallNew \n"" mov %esp,%ebx \n"" add $12,%ebx \n"" push (%ebx) \n"" call *systemCalls(,%eax,4) \n"" add $4,%esp \n"" jmp doneNew \n""invalidSysCallNew: \n"" call InvalidSystemCall \n""doneNew: \n"" pop %gs \n"" pop %fs \n"" pop %es \n"" pop %ds \n"" pop %ss \n"" popa \n"" iret \n")

long | fuword (const void *base)
void | invalidCall (int sys_call)
void | InvalidSystemCall ()
void | sdeTestThread ()
void | sysAddModule ()
void | sysAuth (UbixUser *uu)
void | sysCheckPid (int pid, int *ptr)
void | sysExit (int status)
void | sysGetCwd (char *data, int len)
void | sysGetDrives (uInt32 *ptr)
void | sysGetFreePage (long *ptr, int count, int type)
void | sysGetGid (int *gid)
void | sysGetpid (int *pid)
void | sysGetTime (uInt32 *ptr)
void | sysGetUid (int *uid)
void | sysGetUptime (uInt32 *ptr)
void | sysPasswd (char *passwd)
void | sysRmModule ()
void | sysSchedYield ()
void | sysSetGid (int gid, int *status)
void | sysSetUid (int uid, int *status)
void | sysStartSDE ()

## Typedef Documentation

typedef struct _UbixUser UbixUser

Definition at line 89 of file syscall.c.

## Function Documentation

asm | ( | ".globl _sysCallNew \n""_sysCallNew: \n"" pusha \n"" push %ss \n"" push %ds \n"" push %es \n"" push %fs \n"" push %gs \n"" cmpl | totalCalls,
|  | %eax\n""jae invalidSysCallNew\n""mov% | esp,
|  | %ebx\n""add $ | 12,
|  | %ebx\n""push(%ebx)\n""call *systemCalls(,%eax, 4)\n""add $ | 4,
|  | %esp\n""jmp doneNew\n""invalidSysCallNew:\n""call InvalidSystemCall\n""doneNew:\n""pop%gs\n""pop%fs\n""pop%es\n""pop%ds\n""pop%ss\n""popa\n""iret\n" |  |
| ) |  |  |

long fuword | ( | const void * | base | ) |

void invalidCall | ( | int | sys_call | ) |

Definition at line 251 of file syscall.c.

References kprintf().

Here is the call graph for this function:

void InvalidSystemCall | ( |  | ) |

Definition at line 83 of file syscall.c.

References kprintf().

Here is the call graph for this function:

void sdeTestThread | ( |  | ) |

void sysAddModule | ( |  | ) |

Definition at line 119 of file syscall.c.

void sysAuth | ( | UbixUser * | uu | ) |

Definition at line 100 of file syscall.c.

References _UbixUser::gid, kprintf(), _UbixUser::password, _UbixUser::uid, and _UbixUser::username.

Here is the call graph for this function:

void sysCheckPid | ( | int | pid,
|  | int * | ptr |
| ) |  |  |

Definition at line 179 of file syscall.c.

References schedFindTask(), and taskStruct::state.

Here is the call graph for this function:

void sysExit | ( | int | status | ) |

Definition at line 174 of file syscall.c.

References _current, endTask(), and taskStruct::id.

Here is the call graph for this function:

void sysGetCwd | ( | char * | data,
|  | int | len |
| ) |  |  |

Definition at line 228 of file syscall.c.

References _current, osInfo::cwd, taskStruct::oInfo, and sprintf().

Here is the call graph for this function:

void sysGetDrives | ( | uInt32 * | ptr | ) |

Definition at line 206 of file syscall.c.

void sysGetFreePage | ( | long * | ptr,
|  | int | count,
|  | int | type |
| ) |  |  |

Definition at line 196 of file syscall.c.

References _current, taskStruct::id, VM_TASK, VM_THRD, and vmmGetFreeVirtualPage().

Here is the call graph for this function:

void sysGetGid | ( | int * | gid | ) |

Definition at line 142 of file syscall.c.

References _current, and taskStruct::gid.

void sysGetpid | ( | int * | pid | ) |

Definition at line 129 of file syscall.c.

References _current, and taskStruct::id.

void sysGetTime | ( | uInt32 * | ptr | ) |

Definition at line 220 of file syscall.c.

References systemVitals, vitalsStruct::sysUptime, and vitalsStruct::timeStart.

void sysGetUid | ( | int * | uid | ) |

Definition at line 136 of file syscall.c.

References _current, and taskStruct::uid.

void sysGetUptime | ( | uInt32 * | ptr | ) |

Definition at line 213 of file syscall.c.

References systemVitals, and vitalsStruct::sysTicks.

void sysPasswd | ( | char * | passwd | ) |

Definition at line 113 of file syscall.c.

References _current, kprintf(), and taskStruct::uid.

Here is the call graph for this function:

void sysRmModule | ( |  | ) |

Definition at line 124 of file syscall.c.

void sysSchedYield | ( |  | ) |

Definition at line 235 of file syscall.c.

References sched_yield().

Here is the call graph for this function:

void sysSetGid | ( | int | gid,
|  | int * | status |
| ) |  |  |

Definition at line 161 of file syscall.c.

References _current, and taskStruct::gid.

void sysSetUid | ( | int | uid,
|  | int * | status |
| ) |  |  |

Definition at line 148 of file syscall.c.

References _current, and taskStruct::uid.

void sysStartSDE | ( |  | ) |

Definition at line 239 of file syscall.c.