USRP Hardware Driver and USRP Manual Version: 4.2.0.0
UHD and USRP Manual
subdev_spec.h
Go to the documentation of this file.
1//
2// Copyright 2015 Ettus Research LLC
3// Copyright 2018 Ettus Research, a National Instruments Company
4//
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
7
8#pragma once
9
10#include <uhd/config.h>
11#include <uhd/error.h>
12
13#include <stdbool.h>
14
16typedef struct {
17 // Daughterboard slot name
18 char* db_name;
20 char* sd_name;
22
23#ifdef __cplusplus
25#include <string>
26
27struct uhd_subdev_spec_t {
28 uhd::usrp::subdev_spec_t subdev_spec_cpp;
29 std::string last_error;
30};
31
32extern "C" {
33#else
34struct uhd_subdev_spec_t;
35#endif
36
38
44typedef struct uhd_subdev_spec_t* uhd_subdev_spec_handle;
45
48 uhd_subdev_spec_pair_t *subdev_spec_pair
49);
50
53 const uhd_subdev_spec_pair_t* first,
54 const uhd_subdev_spec_pair_t* second,
55 bool *result_out
56);
57
61 const char* markup
62);
63
65
71);
72
76 size_t *size_out
77);
78
82 const char* markup
83);
84
88 size_t num,
89 uhd_subdev_spec_pair_t *subdev_spec_pair_out
90);
91
95 char* pp_string_out,
96 size_t strbuffer_len
97);
98
102 char* string_out,
103 size_t strbuffer_len
104);
105
109 char* error_out,
110 size_t strbuffer_len
111);
112
113#ifdef __cplusplus
114}
115
116UHD_API uhd::usrp::subdev_spec_pair_t uhd_subdev_spec_pair_c_to_cpp(
117 const uhd_subdev_spec_pair_t* subdev_spec_pair_c
118);
119
120UHD_API void uhd_subdev_spec_pair_cpp_to_c(
121 const uhd::usrp::subdev_spec_pair_t &subdev_spec_pair_cpp,
122 uhd_subdev_spec_pair_t *subdev_spec_pair_c
123);
124#endif
Definition: subdev_spec.hpp:60
#define UHD_API
Definition: config.h:87
uhd_error
UHD error codes.
Definition: error.h:20
Definition: subdev_spec.hpp:21
Subdevice specification.
Definition: subdev_spec.h:16
char * sd_name
Subdevice name.
Definition: subdev_spec.h:20
char * db_name
Definition: subdev_spec.h:18
UHD_API uhd_error uhd_subdev_spec_size(uhd_subdev_spec_handle h, size_t *size_out)
Check how many subdevice specifications are in this list.
UHD_API uhd_error uhd_subdev_spec_to_string(uhd_subdev_spec_handle h, char *string_out, size_t strbuffer_len)
Get a markup string representation of the given list.
UHD_API uhd_error uhd_subdev_spec_pair_free(uhd_subdev_spec_pair_t *subdev_spec_pair)
Safely destroy any memory created in the generation of a uhd_subdev_spec_pair_t.
UHD_API uhd_error uhd_subdev_spec_make(uhd_subdev_spec_handle *h, const char *markup)
Create a handle for a list of subdevice specifications.
UHD_API uhd_error uhd_subdev_spec_push_back(uhd_subdev_spec_handle h, const char *markup)
Add a subdevice specification to this list.
UHD_API uhd_error uhd_subdev_spec_at(uhd_subdev_spec_handle h, size_t num, uhd_subdev_spec_pair_t *subdev_spec_pair_out)
Get the subdevice specification at the given index.
struct uhd_subdev_spec_t * uhd_subdev_spec_handle
A C-level interface for working with a list of subdevice specifications.
Definition: subdev_spec.h:44
UHD_API uhd_error uhd_subdev_spec_free(uhd_subdev_spec_handle *h)
Safely destroy a subdevice specification handle.
UHD_API uhd_error uhd_subdev_spec_pairs_equal(const uhd_subdev_spec_pair_t *first, const uhd_subdev_spec_pair_t *second, bool *result_out)
Check to see if two subdevice specifications are equal.
UHD_API uhd_error uhd_subdev_spec_last_error(uhd_subdev_spec_handle h, char *error_out, size_t strbuffer_len)
Get the last error recorded by the given handle.
UHD_API uhd_error uhd_subdev_spec_to_pp_string(uhd_subdev_spec_handle h, char *pp_string_out, size_t strbuffer_len)
Get a string representation of the given list.