FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
b
d
e
f
g
i
l
m
n
o
p
r
s
t
v
w
Functions
d
f
g
l
m
n
o
p
t
v
Variables
Typedefs
Enumerations
Enumerator
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
c
e
g
h
k
m
n
o
r
s
Related Functions
c
d
e
h
i
m
o
p
r
s
v
Source
Files
Symbols
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
os.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 Cisco and/or its affiliates.
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at:
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
/*
16
Copyright (c) 2001-2005 Eliot Dresselhaus
17
18
Permission is hereby granted, free of charge, to any person obtaining
19
a copy of this software and associated documentation files (the
20
"Software"), to deal in the Software without restriction, including
21
without limitation the rights to use, copy, modify, merge, publish,
22
distribute, sublicense, and/or sell copies of the Software, and to
23
permit persons to whom the Software is furnished to do so, subject to
24
the following conditions:
25
26
The above copyright notice and this permission notice shall be
27
included in all copies or substantial portions of the Software.
28
29
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
30
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
31
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
32
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
33
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
34
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
35
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
36
*/
37
38
#ifndef included_os_h
39
#define included_os_h
40
41
#include <
vppinfra/clib.h
>
42
#include <
vppinfra/types.h
>
43
44
/* External panic function. */
45
void
os_panic
(
void
);
46
47
/* External exit function analogous to unix exit. */
48
void
os_exit
(
int
code);
49
50
/* External function to print a line. */
51
void
os_puts
(
u8
*
string
,
uword
length
,
uword
is_error);
52
53
/* External function to handle out of memory. */
54
void
os_out_of_memory
(
void
);
55
56
/* Estimate, measure or divine CPU timestamp clock frequency. */
57
f64
os_cpu_clock_frequency
(
void
);
58
59
extern
__thread
uword
__os_thread_index;
60
extern
__thread
uword
__os_numa_index;
61
62
static_always_inline
uword
63
os_get_thread_index
(
void
)
64
{
65
return
__os_thread_index;
66
}
67
68
static_always_inline
void
69
os_set_thread_index
(
uword
thread_index
)
70
{
71
__os_thread_index =
thread_index
;
72
}
73
74
static_always_inline
uword
75
os_get_numa_index
(
void
)
76
{
77
return
__os_numa_index;
78
}
79
80
static_always_inline
void
81
os_set_numa_index
(
uword
numa_index)
82
{
83
__os_numa_index = numa_index;
84
}
85
86
static_always_inline
uword
87
os_get_cpu_number
(
void
) __attribute__ ((deprecated));
88
89
static_always_inline
uword
90
os_get_cpu_number
(
void
)
91
{
92
return
__os_thread_index;
93
}
94
95
uword
os_get_nthreads
(
void
);
96
97
#include <
vppinfra/smp.h
>
98
99
#endif
/* included_os_h */
100
101
/*
102
* fd.io coding-style-patch-verification: ON
103
*
104
* Local Variables:
105
* eval: (c-set-style "gnu")
106
* End:
107
*/
thread_index
u32 thread_index
Definition:
nat44_ei_hairpinning.c:492
os_set_thread_index
static_always_inline void os_set_thread_index(uword thread_index)
Definition:
os.h:69
types.h
clib.h
smp.h
os_out_of_memory
void os_out_of_memory(void)
Definition:
unix-misc.c:219
os_get_nthreads
uword os_get_nthreads(void)
Definition:
unix-misc.c:225
static_always_inline
#define static_always_inline
Definition:
clib.h:112
uword
u64 uword
Definition:
types.h:112
f64
double f64
Definition:
types.h:142
os_set_numa_index
static_always_inline void os_set_numa_index(uword numa_index)
Definition:
os.h:81
os_get_thread_index
static_always_inline uword os_get_thread_index(void)
Definition:
os.h:63
os_exit
void os_exit(int code)
Definition:
pnat_test_stubs.h:20
os_get_cpu_number
static_always_inline uword os_get_cpu_number(void)
Definition:
os.h:90
os_cpu_clock_frequency
f64 os_cpu_clock_frequency(void)
Definition:
time.c:139
length
char const int length
Definition:
cJSON.h:163
u8
unsigned char u8
Definition:
types.h:56
os_panic
void os_panic(void)
Definition:
pnat_test_stubs.h:19
os_get_numa_index
static_always_inline uword os_get_numa_index(void)
Definition:
os.h:75
os_puts
void os_puts(u8 *string, uword length, uword is_error)
Definition:
unix-misc.c:192
src
vppinfra
os.h
Generated on Sat Jan 8 2022 10:05:47 for FD.io VPP by
1.8.17