USRP Hardware Driver and USRP Manual  Version: 4.1.0.0-264-g3e5e4eb06
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 
16 typedef struct {
17  // Daughterboard slot name
18  char* db_name;
20  char* sd_name;
22 
23 #ifdef __cplusplus
24 #include <uhd/usrp/subdev_spec.hpp>
25 #include <string>
26 
27 struct uhd_subdev_spec_t {
28  uhd::usrp::subdev_spec_t subdev_spec_cpp;
29  std::string last_error;
30 };
31 
32 extern "C" {
33 #else
34 struct uhd_subdev_spec_t;
35 #endif
36 
38 
44 typedef 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 
60  uhd_subdev_spec_handle* h,
61  const char* markup
62 );
63 
65 
70  uhd_subdev_spec_handle* h
71 );
72 
75  uhd_subdev_spec_handle h,
76  size_t *size_out
77 );
78 
81  uhd_subdev_spec_handle h,
82  const char* markup
83 );
84 
87  uhd_subdev_spec_handle h,
88  size_t num,
89  uhd_subdev_spec_pair_t *subdev_spec_pair_out
90 );
91 
94  uhd_subdev_spec_handle h,
95  char* pp_string_out,
96  size_t strbuffer_len
97 );
98 
101  uhd_subdev_spec_handle h,
102  char* string_out,
103  size_t strbuffer_len
104 );
105 
108  uhd_subdev_spec_handle h,
109  char* error_out,
110  size_t strbuffer_len
111 );
112 
113 #ifdef __cplusplus
114 }
115 
116 UHD_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 
120 UHD_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
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.
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.
char * sd_name
Subdevice name.
Definition: subdev_spec.h:20
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.
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_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_free(uhd_subdev_spec_handle *h)
Safely destroy a subdevice specification handle.
uhd_error
UHD error codes.
Definition: error.h:20
Definition: subdev_spec.hpp:20
Subdevice specification.
Definition: subdev_spec.h:16
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.
char * db_name
Definition: subdev_spec.h:18
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.
#define UHD_API
Definition: config.h:70
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.
Definition: subdev_spec.hpp:59
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_push_back(uhd_subdev_spec_handle h, const char *markup)
Add a subdevice specification to this list.