OpenCores
URL https://opencores.org/ocsvn/forwardcom/forwardcom/trunk

Subversion Repositories forwardcom

[/] [forwardcom/] [bintools/] [system_functions.h] - Blame information for rev 39

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 39 Agner
/*************************    system_functions.h    ***************************
2
* Author:        Agner Fog
3
* Date created:  2018-03-20
4
* Last modified: 2020-11-25
5
* Version:       1.11
6
* Project:       Binary tools for ForwardCom instruction set
7
* Module:        system_functions.h
8
* Description:
9
* Header file for ForwardCom system function ID numbers
10
*
11
* Note: id values are preliminary, they may change
12
*
13
* Copyright 2018-2020 GNU General Public License http://www.gnu.org/licenses
14
******************************************************************************/
15
 
16
// Event ID's. System-specific and user-defined ID numbers may be added
17
#define EVT_NONE                      0     // ignore
18
#define EVT_CONSTRUCT                 1     // call static constructors and initialization procedures before calling main
19
#define EVT_DESTRUCT                  2     // call static destructors and clean up after return from main
20
#define EVT_LOADLIB                   3     // a library has been loaded dynamically at runtime. initialize it
21
#define EVT_UNLOADLIB                 4     // a library is about to be unloaded dynamically
22
#define EVT_CLOSE                     5     // a request for closing the current process
23
#define EVT_PARENTNOTIFY              6     // notification from child process to parent process
24
#define EVT_ERROR                  0x10     // error handler
25
#define EVT_TIMER                  0x20     // timer event
26
#define EVT_COMMAND                0x30     // user command from keyboard, menu, or icon click
27
#define EVT_MESSAGE                0x31     // keyboard or mouse message or inter-process message
28
#define EVT_CALL                   0x32     // call to an add-on module
29
 
30
// Interrupt ID's. ID numbers for error interrupts
31
#define INT_BREAKPOINT             0x01     // debug breakpoint
32
#define INT_UNKNOWN_INST           0x80     // unknown instruction
33
#define INT_WRONG_PARAMETERS       0x81     // illegal or unsupported parameters for instruction
34
#define INT_ACCESS_READ            0x82     // memory access violation, read
35
#define INT_ACCESS_WRITE           0x83     // memory access violation, write
36
#define INT_ACCESS_EXE             0x84     // memory access violation, execute
37
#define INT_CALL_STACK             0x85     // call stack overflow or underflow
38
#define INT_ARRAY_BOUNDS           0x88     // array bounds overflow, unsigned
39
#define INT_MISALIGNED_MEM         0x89     // misaligned memory access
40
#define INT_MISALIGNED_JUMP        0x8A     // jump to an address not divisible by 4
41
 
42
// Interrupt ID's for software traps. Note that software traps are not necessarily supported
43
#define INT_OVERFL_UNSIGN          0x101     // integer overflow, unsigned
44
#define INT_OVERFL_SIGN            0x102     // integer overflow, signed
45
#define INT_OVERFL_FLOAT           0x103     // floating point overflow
46
#define INT_FLOAT_INVALID          0x104     // floating point invalid operation
47
#define INT_FLOAT_UNDERFL          0x105     // floating point underflow or precision loss
48
#define INT_FLOAT_NAN_LOSS         0x106     // floating point nan propagation loss (nan input to compare or conversion to integer)
49
 
50
// module ID
51
#define SYSM_SYSTEM               0x001  // system module id
52
 
53
// process function IDs
54
#define SYSF_EXIT                 0x010  // terminate program
55
#define SYSF_ABORT                0x011  // abort program
56
#define SYSF_TIME                 0x020  // time
57
 
58
// input/output functions
59
#define SYSF_PUTS                 0x101  // write string to stdout
60
#define SYSF_PUTCHAR              0x102  // write character to stdout
61
#define SYSF_PRINTF               0x103  // write formatted output to stdout
62
#define SYSF_FPRINTF              0x104  // write formatted output to file
63
#define SYSF_SNPRINTF             0x105  // write formatted output to string buffer 
64
#define SYSF_FOPEN                0x110  // open file
65
#define SYSF_FCLOSE               0x111  // close file
66
#define SYSF_FREAD                0x112  // read from file
67
#define SYSF_FWRITE               0x113  // write to file
68
#define SYSF_FFLUSH               0x114  // flush file
69
#define SYSF_FEOF                 0x115  // check if end of file
70
#define SYSF_FTELL                0x116  // get file position
71
#define SYSF_FSEEK                0x117  // set file position
72
#define SYSF_FERROR               0x118  // get file error
73
#define SYSF_GETCHAR              0x120  // read character from stdin
74
#define SYSF_FGETC                0x121  // read character from file
75
#define SYSF_FGETS                0x123  // read string from file
76
#define SYSF_GETS_S               0x124  // read string from stdin
77
#define SYSF_SCANF                0x130  // read formatted input from stdin
78
#define SYSF_FSCANF               0x131  // read formatted input from file
79
#define SYSF_SSCANF               0x132  // read formatted input from string buffer
80
#define SYSF_REMOVE               0x140  // delete file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.