FreeCalypso > hg > fc-tourmaline
comparison src/g23m-aci/gdd_dio/gdd_sys.h @ 1:fa8dc04885d8
src/g23m-*: import from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:25:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:4e78acac3d88 | 1:fa8dc04885d8 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : GSM-F&D (8411) | |
4 | Modul : gdd_sys.h | |
5 +----------------------------------------------------------------------------- | |
6 | Copyright 2005 Texas Instruments Berlin, AG | |
7 | All rights reserved. | |
8 | | |
9 | This file is confidential and a trade secret of Texas | |
10 | Instruments Berlin, AG | |
11 | The receipt of or possession of this file does not convey | |
12 | any rights to reproduce or disclose its contents or to | |
13 | manufacture, use, or sell anything it may describe, in | |
14 | whole, or in part, without the specific written consent of | |
15 | Texas Instruments Berlin, AG. | |
16 +----------------------------------------------------------------------------- | |
17 | Purpose : API for limited system functionality offered to application | |
18 | domain libraries. | |
19 +----------------------------------------------------------------------------- | |
20 */ | |
21 | |
22 #ifndef GDD_SYS_H | |
23 #define GDD_SYS_H | |
24 | |
25 /*==== DEFINITIONS ==========================================================*/ | |
26 | |
27 typedef int T_GDD_SEM; | |
28 | |
29 | |
30 /*==== DYNAMIC MEMORY FUNCTIONS =============================================*/ | |
31 | |
32 | |
33 /* | |
34 +------------------------------------------------------------------------------ | |
35 | Function : gdd_sys_mem_malloc | |
36 +------------------------------------------------------------------------------ | |
37 | Description : Allocate memory. | |
38 | | |
39 | Parameters : size - Size of memory required. | |
40 | | |
41 | Return : Pointer to first byte of allocated memory. | |
42 | 0 if allocation failed. | |
43 +------------------------------------------------------------------------------ | |
44 */ | |
45 void * gdd_sys_mem_malloc(int size); | |
46 | |
47 | |
48 /* | |
49 +------------------------------------------------------------------------------ | |
50 | Function : gdd_sys_mem_free | |
51 +------------------------------------------------------------------------------ | |
52 | Description : Release memory which was previously allocated. | |
53 | | |
54 | Parameters : p - Pointer to memory to be deallocated | |
55 +------------------------------------------------------------------------------ | |
56 */ | |
57 void gdd_sys_mem_free(void * p); | |
58 | |
59 | |
60 /*==== SEMAPHORE FUNCTIONS ==================================================*/ | |
61 | |
62 | |
63 /* | |
64 +------------------------------------------------------------------------------ | |
65 | Function : gdd_sys_sem_open | |
66 +------------------------------------------------------------------------------ | |
67 | Description : Opens a (counting) semaphore specified by its name. If the | |
68 | semaphore does not exist, it will be created with the initial | |
69 | count given. If the semaphore already exists the parameter count | |
70 | will be ignored. | |
71 | | |
72 | Parameters : name - Some name to identify the semaphore | |
73 | count - initial count (e.g. 1 for a binary sem.) | |
74 | | |
75 | Return : Returns handle to created semaphore, or -1 if an error occured. | |
76 +------------------------------------------------------------------------------ | |
77 */ | |
78 T_GDD_SEM gdd_sys_sem_open(char * name, unsigned short count); | |
79 | |
80 | |
81 /* | |
82 +------------------------------------------------------------------------------ | |
83 | Function : gdd_sys_sem_close | |
84 +------------------------------------------------------------------------------ | |
85 | Description : Closes a semaphore | |
86 | | |
87 | Parameters : sem - handle of semaphore | |
88 | | |
89 | Return : 0 = succees | |
90 | 1 = error | |
91 +------------------------------------------------------------------------------ | |
92 */ | |
93 int gdd_sys_sem_close(T_GDD_SEM sem); | |
94 | |
95 | |
96 /* | |
97 +------------------------------------------------------------------------------ | |
98 | Function : gdd_sys_sem_down | |
99 +------------------------------------------------------------------------------ | |
100 | Description : This functions obtains the specified semaphore, i.e. | |
101 | the counter is decremented, if it is greater than zero. | |
102 | If the counter is equal to zero, than the calling task is | |
103 | suspended until the counter is incremented by another task. | |
104 | If the caller is a non-task thread the function returns | |
105 | immediately regardless if the request can be satisfied or not. | |
106 | In this case, -1 is returned if the counter was already zero. | |
107 | | |
108 | Parameters : sem - handle of semaphore | |
109 | | |
110 | Return : 0 = succees | |
111 | 1 = error | |
112 +------------------------------------------------------------------------------ | |
113 */ | |
114 int gdd_sys_sem_down(T_GDD_SEM sem); | |
115 | |
116 | |
117 /* | |
118 +------------------------------------------------------------------------------ | |
119 | Function : gdd_sys_sem_down | |
120 +------------------------------------------------------------------------------ | |
121 | Description : Releases a semaphore, i.e. counter is incremented. | |
122 | | |
123 | Parameters : sem - handle of semaphore | |
124 | | |
125 | Return : 0 = succees | |
126 | 1 = error | |
127 +------------------------------------------------------------------------------ | |
128 */ | |
129 int gdd_sys_sem_up(T_GDD_SEM sem); | |
130 | |
131 | |
132 /* | |
133 +------------------------------------------------------------------------------ | |
134 | Function : gdd_sys_sem_status | |
135 +------------------------------------------------------------------------------ | |
136 | Description : Query (obtain) the counter of a semaphore. | |
137 | | |
138 | Parameters : sem - handle of semaphore | |
139 | count - output variable to pass back the counter | |
140 | | |
141 | Return : 0 = succees | |
142 | 1 = error | |
143 +------------------------------------------------------------------------------ | |
144 */ | |
145 int gdd_sys_sem_status(T_GDD_SEM sem, /*out*/ unsigned short * count); | |
146 | |
147 | |
148 #endif /* GDD_SYS_H */ |