blob: a7036e87a73db27bc73e87892dd4b465b99082a5 (
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
/* Copyright (c) 2013, Linaro Limited
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
/**
* @file
*
* ODP buffer descriptor
*/
#ifndef ODP_BUFFER_H_
#define ODP_BUFFER_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <odp_std_types.h>
#include <odp_platform_types.h>
/** @defgroup odp_buffer ODP BUFFER
* Operations on a buffer.
* @{
*/
/**
* Buffer start address
*
* @param buf Buffer handle
*
* @return Buffer start address
*/
void *odp_buffer_addr(odp_buffer_t buf);
/**
* Buffer maximum data size
*
* @param buf Buffer handle
*
* @return Buffer maximum data size
*/
size_t odp_buffer_size(odp_buffer_t buf);
/**
* Buffer type
*
* @param buf Buffer handle
*
* @return Buffer type
*/
int odp_buffer_type(odp_buffer_t buf);
#define ODP_BUFFER_TYPE_INVALID (-1) /**< Buffer type invalid */
#define ODP_BUFFER_TYPE_ANY 0 /**< Buffer that can hold any other
buffer type */
#define ODP_BUFFER_TYPE_RAW 1 /**< Raw buffer, no additional metadata */
#define ODP_BUFFER_TYPE_PACKET 2 /**< Packet buffer */
#define ODP_BUFFER_TYPE_TIMEOUT 3 /**< Timeout buffer */
/**
* Tests if buffer is valid
*
* @param buf Buffer handle
*
* @return 1 if valid, otherwise 0
*/
int odp_buffer_is_valid(odp_buffer_t buf);
/**
* Buffer pool of the buffer
*
* @param buf Buffer handle
*
* @return Handle of buffer pool buffer belongs to
*/
odp_buffer_pool_t odp_buffer_pool(odp_buffer_t buf);
/**
* Print buffer metadata to STDOUT
*
* @param buf Buffer handle
*
*/
void odp_buffer_print(odp_buffer_t buf);
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif
|