1 /*
2 * Copyright (c) 2010, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
32 /*!
33 * ======== GROUPUTILS ========
34 * Framework Components Edma3 specific IRES Resman and Protocol Implementation
35 *
36 */
37 @Template("./GROUPUTILS.xdt")
38
39 metaonly module GROUPUTILS {
40
41 /*!
42 * ======== ipcKeyBase ========
43 * Linux only. Base value of keys of Linux IPC objects used by
44 * GROUPUTILS. The IPC objects created by GROUPUTILS will use keys starting
45 * at this
46 * value, and incrementing with each new object. There are currently
47 * three IPC objects, so keys in the range of ipcKeyBase to ipcKeyBase + 2
48 * will be reserved for GROUPUTILS. The default value of ipcKeyBase is
49 * ascii code for "SLIT".
50 *
51 * WARNING: This value should only be changed if it conflicts with
52 * another IPC key in the system that cannot be changed. If this value
53 * is changed, all programs using GROUPUTILS that will be run simultaneously
54 * must have the ipcKeyBase configured to the new value.
55 * @_nodoc
56 */
57 config UInt ipcKeyBase = 0x534C4954;
58
59 /* @_nodoc */
60 const Bool autoRegister = true;
61
62 /* @_nodoc */
63 config bool debug = false;
64
65 /* @_nodoc */
66 config bool trace = false;
67
68 /* @_nodoc */
69 config String lockScratchGroupFxn = null;
70
71 /* @_nodoc */
72 config String unlockScratchGroupFxn = null;
73
74 /* We also need a package-name that implements these functions*/
75 config String scratchFxnPackage = null;
76
77 /*!
78 * ======== semCreateFxn ========
79 * Function to create semaphores used by various individual resource
80 * manager(s) registered with RMAN.
81 *
82 * Function signature is:
83 * @p(code)
84 * Void * _semCreate(Int key, Int count);
85 */
86 config String semCreateFxn = null;
87
88 /*!
89 * ======== semDeleteFxn ========
90 * Function to delete semaphores used by various individual resource
91 * manager(s) registered with RMAN.
92 *
93 * Function signature is:
94 * @p(code)
95 * Void _semDelete(Void * sem);
96 */
97 config String semDeleteFxn = null;
98
99 /*!
100 * ======== semPendFxn ========
101 * Function to pend on semaphores used by various resource manager(s)
102 * registered with RMAN.
103 *
104 * Function signature is:
105 * @p(code)
106 * Int _semPend(Void * sem, UInt32 timeout);
107 */
108 config String semPendFxn = null;
109
110 /*!
111 * ======== semPostFxn ========
112 * Function to post on Semaphores used by various resource manager(s)
113 * registered with RMAN.
114 *
115 * Function signature is:
116 * @p(code)
117 * Void _semPost(Void * sem);
118 */
119 config String semPostFxn = null;
120 }
121
122 /*
123 * @(#) ti.sdo.fc.ires.grouputils; 1, 0, 0,32; 12-1-2010 17:25:14; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
124
125 */
126