Changeset 529 for Whitix/branches/hybrid

Show
Ignore:
Timestamp:
05/24/08 09:51:43 (5 months ago)
Author:
mwhitworth
Message:

Shorten file, add structure.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/branches/hybrid/include/sys.h

    r487 r529  
    2424#include <typedefs.h> 
    2525 
    26 extern DWORD sysCallTable[]; 
     26struct SysCall 
     27{ 
     28        DWORD addr; 
     29        DWORD numBytes; 
     30}; 
    2731 
    28 struct Time; 
    29 struct SocketAddr; 
     32#define SYSCALL_MAX             60 
    3033 
    31 /* The great syscall list */ 
    32  
    33 /* Filesystem calls */ 
    34 int SysOpen(char* pathName,int flags,int perms); 
    35 int SysCreateDir(char* pathName,int perms); 
    36 int SysClose(int fd); 
    37 int SysRemove(char* pathName); 
    38 int SysRemoveDir(char* path); 
    39 int SysFileAccess(char* path,int mode); /* TODO */ 
    40 int SysFileDup(int fd); 
    41 int SysFileSync(int fd); 
    42 int SysFileSystemSync(); 
    43 int SysTruncate(int fd,DWORD length); 
    44 int SysMove(char* src,char* dest); //Not done 
    45 int SysWrite(int fd,BYTE* data,DWORD amount); 
    46 int SysRead(int fd,BYTE* buffer,DWORD amount); 
    47 int SysSeek(int fd,int distance,int whence); 
    48 int SysChangeDir(char* newDir); 
    49 int SysChangeRoot(char* newRoot); 
    50 int SysMount(char* mountPoint,char* deviceName,char* fsName,void* data); 
    51 int SysUnmount(char* mountPoint); //Not done 
    52 int SysGetDirEntries(int fd,void* entries,DWORD numBytes); 
    53 int SysGetCurrDir(char* str,int size); 
    54 int SysStat(char* name,void* statBuf); 
    55 int SysStatFd(int fd,void* statBuf); 
    56 int SysIoCtl(int fd,unsigned long code,char* data); 
    57 int SysPoll(void* fds, DWORD numFds, int timeout); 
    58 int SysPipe(int* fds); 
    59  
    60 /* Memory calls */ 
    61 void* SysMoreCore(int len); 
    62 int SysMemoryMap(DWORD address, DWORD length, int protection, int fd, DWORD offset, int flags); 
    63 int SysMemoryProtect(DWORD address, DWORD len, int protection); 
    64 int SysMemoryUnmap(DWORD address,DWORD length); 
    65 int SysSharedMemoryGet(unsigned int key, DWORD size, int flags); 
    66 DWORD SysSharedMemoryAttach(int id, const void* address, int flags); 
    67 int SysSharedMemoryControl(int id, int command, void* buffer); 
    68 int SysSharedMemoryDetach(const void* address); 
    69  
    70 /* Task management */ 
    71 int SysCreateProcess(char* pathName,int* fds,char** argvp); 
    72 int SysCreateThread(DWORD address,DWORD stackP, void* argument); 
    73 int SysGetCurrentThreadId(); 
    74 int SysGetCurrentProcessId(); 
    75 int SysExitThread(int threadID); //Not done 
    76 int SysExit(int retCode); 
    77 int SysWaitForProcessFinish(int pid,int* finishStatus); 
    78 int SysYield(); 
    79  
    80 /* Time */ 
    81 int SysGetTime(struct Time* retTime); 
    82  
    83 /* Network */ 
    84 int SysSocketCreate(int domain, int type, int protocol); 
    85 int SysSocketBind(int fd, struct SocketAddr* addr, int length); 
    86 int SysSocketConnect(int fd, struct SocketAddr* addr, int length); 
    87 int SysSocketListen(int fd, int backlog); 
    88 int SysSocketAccept(int fd, struct SocketAddr* addr, int* length); 
    89 int SysSocketSend(int fd, const void* buffer, int length, int flags); 
    90 int SysSocketReceive(int fd, void* buffer, int length, int flags); 
    91 int SysSocketIoCtl(int fd, unsigned long code, void* data); 
    92 int SysSocketClose(int fd); 
    93  
    94 /* Module */ 
    95 int SysModuleAdd(void* data, unsigned long length); 
    96 int SysModuleRemove(const char* name); 
    97  
    98 /* Miscellaneous */ 
    99 int SysShutdown(int type); 
    100 int SysIoAccess(int on); 
    101  
    102 void SysRegisterCall(int call, DWORD address); 
     34void SysRegisterCall(int index, struct SysCall* call); 
     35void SysRegisterRange(int index, struct SysCall* calls); 
     36DWORD SysGetCall(DWORD index, DWORD argBytes); 
    10337 
    10438#endif