EM-ODP
3.7.0
Event Machine on ODP
event_machine_core.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015, Nokia Solutions and Networks
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
* * Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
* * Neither the name of the copyright holder nor the names of its
15
* contributors may be used to endorse or promote products derived
16
* from this software without specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
*/
30
31
#ifndef EVENT_MACHINE_CORE_H_
32
#define EVENT_MACHINE_CORE_H_
33
34
#pragma GCC visibility push(default)
35
36
/**
37
* @file
38
* @defgroup em_core Core related
39
* core (thread) specific APIs.
40
* @{
41
*
42
* Currently OpenEM enumerates cores (threads) within an EM instance as
43
* contiguous integers starting from 0. Numbers may or may not match those
44
* provided by underlying HW or operating system.
45
*
46
*/
47
48
#ifdef __cplusplus
49
extern
"C"
{
50
#endif
51
52
/**
53
* Logical core id.
54
*
55
* Returns the logical id of the current core.
56
* EM enumerates cores (or HW threads) to start from 0 and be contiguous,
57
* i.e. valid core identifiers are 0...em_core_count()-1
58
*
59
* @return Current logical core id.
60
*
61
* @see em_core_count()
62
*/
63
int
64
em_core_id
(
void
);
65
66
/**
67
* The number of cores running within the same EM instance
68
* (sharing the EM state).
69
*
70
* @return Number of EM cores (or HW threads).
71
*
72
* @see em_core_id()
73
*/
74
int
75
em_core_count
(
void
);
76
77
/**
78
* @}
79
*/
80
#ifdef __cplusplus
81
}
82
#endif
83
84
#pragma GCC visibility pop
85
#endif
/* EVENT_MACHINE_CORE_H_ */
em_core_count
int em_core_count(void)
Definition:
event_machine_core.c:40
em_core_id
int em_core_id(void)
Definition:
event_machine_core.c:34