Main Page | Modules | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages | Examples

ac_syscall.H

00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 
00003 /*  ArchC Syscall Library for the ArchC architecture simulators
00004     Copyright (C) 2002-2004  The ArchC Team
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Lesser General Public
00008     License as published by the Free Software Foundation; either
00009     version 2.1 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Lesser General Public License for more details.
00015 */
00016 
00017 /********************************************************/
00018 /* ArchC Syscalls header file.                          */
00019 /* Author:  Marcus Bartholomeu                          */
00020 /*                                                      */
00021 /*                                                      */
00022 /* The ArchC Team                                       */
00023 /* Computer Systems Laboratory (LSC)                    */
00024 /* IC-UNICAMP                                           */
00025 /* http://www.lsc.ic.unicamp.br                         */
00026 /********************************************************/
00027 
00028 #ifndef AC_SYSCALL_H
00029 #define AC_SYSCALL_H
00030 
00031 #ifdef USE_GDB
00032 #include "ac_gdb.H"
00033 
00034 extern AC_GDB *gdbstub;
00035 #endif /* USE_GDB */
00036 
00037 class ac_syscall
00038 {
00039 public:
00040 
00041 #define AC_SYSC(NAME,LOCATION) \
00042   void NAME();
00043 
00044 #include <ac_syscall.def>
00045 
00046 #undef AC_SYSC
00047 
00048 
00050   virtual void get_buffer(int argn, unsigned char* buf, unsigned int size) =0;
00051   virtual void set_buffer(int argn, unsigned char* buf, unsigned int size) =0;
00052   virtual int  get_int(int argn) =0;
00053   virtual void set_int(int argn, int val) =0;
00054   virtual void return_from_syscall() =0;
00055   virtual void set_prog_args(int argc, char *argv[]) =0;
00056 };
00057 
00058 #endif

Generated on Thu Jun 24 08:30:05 2004 for ArchC by doxygen 1.3.4