summaryrefslogtreecommitdiff
path: root/drivers/staging/nmf-cm/cm/engine/component/inc/component_type.h
blob: 2e769ec8b22532a5eb82f34bbf8e188eb8eb9cb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
 * Copyright (C) ST-Ericsson SA 2010
 * Author: Jean-Philippe FASSINO <jean-philippe.fassino@stericsson.com> for ST-Ericsson.
 * License terms:  GNU General Public License (GPL), version 2, with
 * user space exemption described in the top-level COPYING file in
 * the Linux kernel source tree.
 */
/*!
 * \brief Components Component Manager API type.
 *
 * \defgroup COMPONENT CM Components API
 * \ingroup CM_USER_API
 */

#ifndef COMPONENT_TYPE_H_
#define COMPONENT_TYPE_H_

#include <cm/inc/cm_type.h>
#include <nmf/inc/component_type.h>

/*!
 * @defgroup t_nmf_ee_priority t_nmf_ee_priority
 * \brief Identification of the execution engine priority and sub priority.
 * @{
 * \ingroup COMPONENT
 */
typedef t_uint32 t_nmf_ee_priority;                                      //!< Fake enumeration type

#define NMF_SCHED_BACKGROUND                    ((t_nmf_ee_priority)0)  //!< Background priority
#define NMF_SCHED_NORMAL                        ((t_nmf_ee_priority)1)  //!< Normal priority
#define NMF_SCHED_URGENT                        ((t_nmf_ee_priority)2)  //!< Urgent priority
/* @} */


/*!
 * \brief Identification of host component returned during introspection
 *
 * \ingroup COMPONENT_INTROSPECTION
 */
#define NMF_HOST_COMPONENT		((t_cm_instance_handle)0xFFFFFFFF)

/*!
 * \brief Identification of void component returned during introspection
 *
 * \ingroup COMPONENT_INTROSPECTION
 */
#define NMF_VOID_COMPONENT      ((t_cm_instance_handle)0xFFFFFFFE)


/*!
 * @defgroup t_nmf_ee_priority t_nmf_ee_priority
 * \brief Identification of the execution engine priority and sub priority.
 * @{
 * \ingroup COMPONENT
 */
typedef t_uint8 t_cm_require_state;                                     //!< Fake enumeration type

#define CM_REQUIRE_STATIC                    ((t_cm_require_state)0)  //!< Required interface is static
#define CM_REQUIRE_OPTIONAL                  ((t_cm_require_state)1)  //!< Required interface is optional
#define CM_REQUIRE_COLLECTION                ((t_cm_require_state)2)  //!< Required interface is a collection

/* @} */

#endif