Main Page
Related Pages
Modules
Classes
Files
File List
File Members
program.h
Go to the documentation of this file.
1
6
/*
7
* The contents of this file are subject to the Mozilla Public License
8
* Version 1.0 (the "License"); you may not use this file except in
9
* compliance with the License. You may obtain a copy of the License
10
* at http://www.mozilla.org/MPL/
11
*
12
* Software distributed under the License is distributed on an "AS IS"
13
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
* the License for the specific language governing rights and
15
* limitations under the License.
16
*
17
* The Original Code is legOS code, released October 17, 1999.
18
*
19
* The Initial Developer of the Original Code is Markus L. Noga.
20
* Portions created by Markus L. Noga are Copyright (C) 1999
21
* Markus L. Noga. All Rights Reserved.
22
*
23
* Contributor(s): Markus L. Noga <markus@noga.de>
24
*/
25
26
#ifndef __program_h__
27
#define __program_h__
28
29
#ifdef __cplusplus
30
extern
"C"
{
31
#endif
32
33
#include <
config.h
>
34
35
#ifdef CONF_PROGRAM
36
37
#include <
tm.h
>
38
40
//
41
// Definitions
42
//
44
45
#define PROG_MAX 8
46
47
#ifndef DOXYGEN_SHOULD_SKIP_INTERNALS
48
52
typedef
struct
{
53
void
*
text
;
54
void
*
data
;
55
void
*
bss
;
56
void
*
data_orig
;
57
58
size_t
text_size
;
59
size_t
data_size
;
60
size_t
bss_size
;
61
size_t
stack_size
;
62
size_t
start
;
63
priority_t
prio
;
64
65
size_t
downloaded
;
66
}
program_t
;
67
71
typedef
enum
{
72
CMDacknowledge
,
73
CMDdelete
,
74
CMDcreate
,
75
// s[bsssize] s[stacksize]
76
// s[start] b[prio]
77
CMDoffsets
,
78
CMDdata
,
79
CMDrun
,
80
CMDirmode
,
81
CMDsethost
,
82
CMDlast
83
}
packet_cmd_t
;
84
85
#endif
/* DOXYGEN_SHOULD_SKIP_INTERNALS */
86
88
//
89
// Variables
90
//
92
93
extern
volatile
unsigned
cprog
;
94
96
//
97
// Functions
98
//
100
102
extern
void
program_stop
(
int
flag);
103
105
106
extern
int
program_valid
(
unsigned
nr);
107
109
extern
void
program_init
();
110
112
extern
void
program_shutdown
();
113
114
#endif // CONF_PROGRAM
115
116
#ifdef __cplusplus
117
}
118
#endif
119
120
#endif // __program_h__
brickOS
is released under the
Mozilla Public License
.
Original code copyright 1998-2005 by the authors.
Generated on Sat Mar 15 2014 11:28:21 for brickOS Kernel Developer by
1.8.1.2