26 #include <arpa/inet.h>
46 printf(
"DOCA SDK Version (Compilation): %s\n",
doca_version());
61 file = fopen(
path,
"rb");
65 if (fseek(file, 0, SEEK_END) != 0) {
70 long const nb_file_bytes = ftell(file);
72 if (nb_file_bytes == -1) {
77 if (nb_file_bytes == 0) {
82 bytes = malloc(nb_file_bytes);
88 if (fseek(file, 0, SEEK_SET) != 0) {
94 size_t const read_byte_count = fread(bytes, 1, nb_file_bytes, file);
98 if (read_byte_count != (
size_t)nb_file_bytes) {
104 *out_bytes_len = read_byte_count;
113 for (i = 0; i < n; i++)
117 #ifndef DOCA_USE_LIBBSD
126 size_t src_len = strlen(
src);
129 trimmed_size =
MIN(src_len, (size - 1));
131 memcpy(dst,
src, trimmed_size);
132 dst[trimmed_size] =
'\0';
146 size_t dst_len = strnlen(dst, size);
151 return dst_len +
strlcpy(dst + dst_len,
src, size - dst_len);
char path[MAX_PATH_LEN+1]
static uint64_t *restrict src
DOCA_EXPERIMENTAL doca_error_t doca_argp_destroy(void)
ARG Parser destroy.
enum doca_error doca_error_t
DOCA API return codes.
@ DOCA_ERROR_INVALID_VALUE
static const char * doca_version(void)
Function returning DOCA's (SDK) exact version string.
DOCA_EXPERIMENTAL const char * doca_version_runtime(void)
Function returning DOCA's (runtime) exact version string.
size_t strlcat(char *dst, const char *src, size_t size)
doca_error_t read_file(char const *path, char **out_bytes, size_t *out_bytes_len)
size_t strlcpy(char *dst, const char *src, size_t size)
void linear_array_init_u16(uint16_t *array, uint16_t n)
noreturn doca_error_t sdk_version_callback(void *param, void *doca_config)