1 /*
2  * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 /**
17  * @file picoapid.h
18  *
19  * Pico api definitions commonly used by picoapi and picoapiext
20  *
21  * This header file must be part of the runtime-only pico system and therefore
22  * must not include picoapiext.h!
23  *
24  * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland
25  * All rights reserved.
26  *
27  * History:
28  * - 2009-04-20 -- initial version
29  *
30  */
31 
32 #ifndef PICOAPID_H_
33 #define PICOAPID_H_
34 
35 #include "picodefs.h"
36 #include "picoapi.h"
37 #include "picoos.h"
38 #include "picorsrc.h"
39 #include "picoctrl.h"
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 #if 0
45 }
46 #endif
47 
48 
49 /* Pico system descriptor */
50 typedef struct pico_system {
51     picoos_uint32 magic;        /* magic number used to validate handles */
52     picoos_Common common;
53     picorsrc_ResourceManager rm;
54     picoctrl_Engine engine;
55 } pico_system_t;
56 
57 
58 /* declared in picoapi.c */
59 extern int is_valid_system_handle(pico_System system);
60 extern picoos_Common pico_sysGetCommon(pico_System this);
61 
62 
63 #if 0
64 {
65 #endif
66 #ifdef __cplusplus
67 }
68 #endif
69 
70 #endif /* PICOAPID_H_ */
71