WPILibC++ 2025.0.0-alpha-1-24-g6478ba6
ntcore_c_types.h
Go to the documentation of this file.
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5// THIS FILE WAS AUTO-GENERATED BY ./ntcore/generate_topics.py. DO NOT MODIFY
6
7#pragma once
8
9#include <stdint.h>
10
11#include "ntcore_c.h"
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17
18/**
19 * Timestamped Boolean.
20 * @ingroup ntcore_c_api
21 */
23 /**
24 * Time in local time base.
25 */
26 int64_t time;
27
28 /**
29 * Time in server time base. May be 0 or 1 for locally set values.
30 */
31 int64_t serverTime;
32
33 /**
34 * Value.
35 */
37};
38
39/**
40 * @defgroup ntcore_Boolean_cfunc Boolean Functions
41 * @ingroup ntcore_c_api
42 * @{
43 */
44
45/**
46 * Publish a new value.
47 *
48 * @param pubentry publisher or entry handle
49 * @param time timestamp; 0 indicates current NT time should be used
50 * @param value value to publish
51 */
52NT_Bool NT_SetBoolean(NT_Handle pubentry, int64_t time, NT_Bool value);
53
54/**
55 * Publish a default value.
56 * On reconnect, a default value will never be used in preference to a
57 * published value.
58 *
59 * @param pubentry publisher or entry handle
60 * @param defaultValue default value
61 */
63
64/**
65 * Get the last published value.
66 * If no value has been published, returns the passed defaultValue.
67 *
68 * @param subentry subscriber or entry handle
69 * @param defaultValue default value to return if no value has been published
70 * @return value
71 */
72NT_Bool NT_GetBoolean(NT_Handle subentry, NT_Bool defaultValue);
73
74/**
75 * Get the last published value along with its timestamp.
76 * If no value has been published, returns the passed defaultValue and a
77 * timestamp of 0.
78 *
79 * @param subentry subscriber or entry handle
80 * @param defaultValue default value to return if no value has been published
81 * @param value timestamped value (output)
82 */
83void NT_GetAtomicBoolean(NT_Handle subentry, NT_Bool defaultValue, struct NT_TimestampedBoolean* value);
84
85/**
86 * Disposes a timestamped value (as returned by NT_GetAtomicBoolean).
87 *
88 * @param value timestamped value
89 */
91
92/**
93 * Get an array of all value changes since the last call to ReadQueue.
94 * Also provides a timestamp for each value.
95 *
96 * @note The "poll storage" subscribe option can be used to set the queue
97 * depth.
98 *
99 * @param subentry subscriber or entry handle
100 * @param len length of returned array (output)
101 * @return Array of timestamped values; NULL if no new changes have
102 * been published since the previous call.
103 */
105
106/**
107 * Frees a timestamped array of values (as returned by NT_ReadQueueBoolean).
108 *
109 * @param arr array
110 * @param len length of array
111 */
112void NT_FreeQueueBoolean(struct NT_TimestampedBoolean* arr, size_t len);
113/**
114 * Get an array of all value changes since the last call to ReadQueue.
115 *
116 * @note The "poll storage" subscribe option can be used to set the queue
117 * depth.
118 *
119 * @param subentry subscriber or entry handle
120 * @param len length of returned array (output)
121 * @return Array of values; NULL if no new changes have
122 * been published since the previous call.
123 */
125
126/** @} */
127
128/**
129 * Timestamped Integer.
130 * @ingroup ntcore_c_api
131 */
133 /**
134 * Time in local time base.
135 */
136 int64_t time;
137
138 /**
139 * Time in server time base. May be 0 or 1 for locally set values.
140 */
141 int64_t serverTime;
142
143 /**
144 * Value.
145 */
146 int64_t value;
147};
148
149/**
150 * @defgroup ntcore_Integer_cfunc Integer Functions
151 * @ingroup ntcore_c_api
152 * @{
153 */
154
155/**
156 * Publish a new value.
157 *
158 * @param pubentry publisher or entry handle
159 * @param time timestamp; 0 indicates current NT time should be used
160 * @param value value to publish
161 */
162NT_Bool NT_SetInteger(NT_Handle pubentry, int64_t time, int64_t value);
163
164/**
165 * Publish a default value.
166 * On reconnect, a default value will never be used in preference to a
167 * published value.
168 *
169 * @param pubentry publisher or entry handle
170 * @param defaultValue default value
171 */
172NT_Bool NT_SetDefaultInteger(NT_Handle pubentry, int64_t defaultValue);
173
174/**
175 * Get the last published value.
176 * If no value has been published, returns the passed defaultValue.
177 *
178 * @param subentry subscriber or entry handle
179 * @param defaultValue default value to return if no value has been published
180 * @return value
181 */
182int64_t NT_GetInteger(NT_Handle subentry, int64_t defaultValue);
183
184/**
185 * Get the last published value along with its timestamp.
186 * If no value has been published, returns the passed defaultValue and a
187 * timestamp of 0.
188 *
189 * @param subentry subscriber or entry handle
190 * @param defaultValue default value to return if no value has been published
191 * @param value timestamped value (output)
192 */
193void NT_GetAtomicInteger(NT_Handle subentry, int64_t defaultValue, struct NT_TimestampedInteger* value);
194
195/**
196 * Disposes a timestamped value (as returned by NT_GetAtomicInteger).
197 *
198 * @param value timestamped value
199 */
201
202/**
203 * Get an array of all value changes since the last call to ReadQueue.
204 * Also provides a timestamp for each value.
205 *
206 * @note The "poll storage" subscribe option can be used to set the queue
207 * depth.
208 *
209 * @param subentry subscriber or entry handle
210 * @param len length of returned array (output)
211 * @return Array of timestamped values; NULL if no new changes have
212 * been published since the previous call.
213 */
215
216/**
217 * Frees a timestamped array of values (as returned by NT_ReadQueueInteger).
218 *
219 * @param arr array
220 * @param len length of array
221 */
222void NT_FreeQueueInteger(struct NT_TimestampedInteger* arr, size_t len);
223/**
224 * Get an array of all value changes since the last call to ReadQueue.
225 *
226 * @note The "poll storage" subscribe option can be used to set the queue
227 * depth.
228 *
229 * @param subentry subscriber or entry handle
230 * @param len length of returned array (output)
231 * @return Array of values; NULL if no new changes have
232 * been published since the previous call.
233 */
234int64_t* NT_ReadQueueValuesInteger(NT_Handle subentry, size_t* len);
235
236/** @} */
237
238/**
239 * Timestamped Float.
240 * @ingroup ntcore_c_api
241 */
243 /**
244 * Time in local time base.
245 */
246 int64_t time;
247
248 /**
249 * Time in server time base. May be 0 or 1 for locally set values.
250 */
251 int64_t serverTime;
252
253 /**
254 * Value.
255 */
256 float value;
257};
258
259/**
260 * @defgroup ntcore_Float_cfunc Float Functions
261 * @ingroup ntcore_c_api
262 * @{
263 */
264
265/**
266 * Publish a new value.
267 *
268 * @param pubentry publisher or entry handle
269 * @param time timestamp; 0 indicates current NT time should be used
270 * @param value value to publish
271 */
272NT_Bool NT_SetFloat(NT_Handle pubentry, int64_t time, float value);
273
274/**
275 * Publish a default value.
276 * On reconnect, a default value will never be used in preference to a
277 * published value.
278 *
279 * @param pubentry publisher or entry handle
280 * @param defaultValue default value
281 */
282NT_Bool NT_SetDefaultFloat(NT_Handle pubentry, float defaultValue);
283
284/**
285 * Get the last published value.
286 * If no value has been published, returns the passed defaultValue.
287 *
288 * @param subentry subscriber or entry handle
289 * @param defaultValue default value to return if no value has been published
290 * @return value
291 */
292float NT_GetFloat(NT_Handle subentry, float defaultValue);
293
294/**
295 * Get the last published value along with its timestamp.
296 * If no value has been published, returns the passed defaultValue and a
297 * timestamp of 0.
298 *
299 * @param subentry subscriber or entry handle
300 * @param defaultValue default value to return if no value has been published
301 * @param value timestamped value (output)
302 */
303void NT_GetAtomicFloat(NT_Handle subentry, float defaultValue, struct NT_TimestampedFloat* value);
304
305/**
306 * Disposes a timestamped value (as returned by NT_GetAtomicFloat).
307 *
308 * @param value timestamped value
309 */
311
312/**
313 * Get an array of all value changes since the last call to ReadQueue.
314 * Also provides a timestamp for each value.
315 *
316 * @note The "poll storage" subscribe option can be used to set the queue
317 * depth.
318 *
319 * @param subentry subscriber or entry handle
320 * @param len length of returned array (output)
321 * @return Array of timestamped values; NULL if no new changes have
322 * been published since the previous call.
323 */
324struct NT_TimestampedFloat* NT_ReadQueueFloat(NT_Handle subentry, size_t* len);
325
326/**
327 * Frees a timestamped array of values (as returned by NT_ReadQueueFloat).
328 *
329 * @param arr array
330 * @param len length of array
331 */
332void NT_FreeQueueFloat(struct NT_TimestampedFloat* arr, size_t len);
333/**
334 * Get an array of all value changes since the last call to ReadQueue.
335 *
336 * @note The "poll storage" subscribe option can be used to set the queue
337 * depth.
338 *
339 * @param subentry subscriber or entry handle
340 * @param len length of returned array (output)
341 * @return Array of values; NULL if no new changes have
342 * been published since the previous call.
343 */
344float* NT_ReadQueueValuesFloat(NT_Handle subentry, size_t* len);
345
346/** @} */
347
348/**
349 * Timestamped Double.
350 * @ingroup ntcore_c_api
351 */
353 /**
354 * Time in local time base.
355 */
356 int64_t time;
357
358 /**
359 * Time in server time base. May be 0 or 1 for locally set values.
360 */
361 int64_t serverTime;
362
363 /**
364 * Value.
365 */
366 double value;
367};
368
369/**
370 * @defgroup ntcore_Double_cfunc Double Functions
371 * @ingroup ntcore_c_api
372 * @{
373 */
374
375/**
376 * Publish a new value.
377 *
378 * @param pubentry publisher or entry handle
379 * @param time timestamp; 0 indicates current NT time should be used
380 * @param value value to publish
381 */
382NT_Bool NT_SetDouble(NT_Handle pubentry, int64_t time, double value);
383
384/**
385 * Publish a default value.
386 * On reconnect, a default value will never be used in preference to a
387 * published value.
388 *
389 * @param pubentry publisher or entry handle
390 * @param defaultValue default value
391 */
392NT_Bool NT_SetDefaultDouble(NT_Handle pubentry, double defaultValue);
393
394/**
395 * Get the last published value.
396 * If no value has been published, returns the passed defaultValue.
397 *
398 * @param subentry subscriber or entry handle
399 * @param defaultValue default value to return if no value has been published
400 * @return value
401 */
402double NT_GetDouble(NT_Handle subentry, double defaultValue);
403
404/**
405 * Get the last published value along with its timestamp.
406 * If no value has been published, returns the passed defaultValue and a
407 * timestamp of 0.
408 *
409 * @param subentry subscriber or entry handle
410 * @param defaultValue default value to return if no value has been published
411 * @param value timestamped value (output)
412 */
413void NT_GetAtomicDouble(NT_Handle subentry, double defaultValue, struct NT_TimestampedDouble* value);
414
415/**
416 * Disposes a timestamped value (as returned by NT_GetAtomicDouble).
417 *
418 * @param value timestamped value
419 */
421
422/**
423 * Get an array of all value changes since the last call to ReadQueue.
424 * Also provides a timestamp for each value.
425 *
426 * @note The "poll storage" subscribe option can be used to set the queue
427 * depth.
428 *
429 * @param subentry subscriber or entry handle
430 * @param len length of returned array (output)
431 * @return Array of timestamped values; NULL if no new changes have
432 * been published since the previous call.
433 */
434struct NT_TimestampedDouble* NT_ReadQueueDouble(NT_Handle subentry, size_t* len);
435
436/**
437 * Frees a timestamped array of values (as returned by NT_ReadQueueDouble).
438 *
439 * @param arr array
440 * @param len length of array
441 */
442void NT_FreeQueueDouble(struct NT_TimestampedDouble* arr, size_t len);
443/**
444 * Get an array of all value changes since the last call to ReadQueue.
445 *
446 * @note The "poll storage" subscribe option can be used to set the queue
447 * depth.
448 *
449 * @param subentry subscriber or entry handle
450 * @param len length of returned array (output)
451 * @return Array of values; NULL if no new changes have
452 * been published since the previous call.
453 */
454double* NT_ReadQueueValuesDouble(NT_Handle subentry, size_t* len);
455
456/** @} */
457
458/**
459 * Timestamped String.
460 * @ingroup ntcore_c_api
461 */
463 /**
464 * Time in local time base.
465 */
466 int64_t time;
467
468 /**
469 * Time in server time base. May be 0 or 1 for locally set values.
470 */
471 int64_t serverTime;
472
473 /**
474 * Value.
475 */
477};
478
479/**
480 * @defgroup ntcore_String_cfunc String Functions
481 * @ingroup ntcore_c_api
482 * @{
483 */
484
485/**
486 * Publish a new value.
487 *
488 * @param pubentry publisher or entry handle
489 * @param time timestamp; 0 indicates current NT time should be used
490 * @param value value to publish
491 */
492NT_Bool NT_SetString(NT_Handle pubentry, int64_t time, const struct WPI_String* value);
493
494/**
495 * Publish a default value.
496 * On reconnect, a default value will never be used in preference to a
497 * published value.
498 *
499 * @param pubentry publisher or entry handle
500 * @param defaultValue default value
501 */
502NT_Bool NT_SetDefaultString(NT_Handle pubentry, const struct WPI_String* defaultValue);
503
504/**
505 * Get the last published value.
506 * If no value has been published, returns the passed defaultValue.
507 *
508 * @param subentry subscriber or entry handle
509 * @param defaultValue default value to return if no value has been published
510 * @param value returned value (output)
511
512 */
513void NT_GetString(NT_Handle subentry, const struct WPI_String* defaultValue, struct WPI_String* value);
514
515/**
516 * Get the last published value along with its timestamp.
517 * If no value has been published, returns the passed defaultValue and a
518 * timestamp of 0.
519 *
520 * @param subentry subscriber or entry handle
521 * @param defaultValue default value to return if no value has been published
522 * @param value timestamped value (output)
523 */
524void NT_GetAtomicString(NT_Handle subentry, const struct WPI_String* defaultValue, struct NT_TimestampedString* value);
525
526/**
527 * Disposes a timestamped value (as returned by NT_GetAtomicString).
528 *
529 * @param value timestamped value
530 */
532
533/**
534 * Get an array of all value changes since the last call to ReadQueue.
535 * Also provides a timestamp for each value.
536 *
537 * @note The "poll storage" subscribe option can be used to set the queue
538 * depth.
539 *
540 * @param subentry subscriber or entry handle
541 * @param len length of returned array (output)
542 * @return Array of timestamped values; NULL if no new changes have
543 * been published since the previous call.
544 */
545struct NT_TimestampedString* NT_ReadQueueString(NT_Handle subentry, size_t* len);
546
547/**
548 * Frees a timestamped array of values (as returned by NT_ReadQueueString).
549 *
550 * @param arr array
551 * @param len length of array
552 */
553void NT_FreeQueueString(struct NT_TimestampedString* arr, size_t len);
554
555/** @} */
556
557/**
558 * Timestamped Raw.
559 * @ingroup ntcore_c_api
560 */
562 /**
563 * Time in local time base.
564 */
565 int64_t time;
566
567 /**
568 * Time in server time base. May be 0 or 1 for locally set values.
569 */
570 int64_t serverTime;
571
572 /**
573 * Value.
574 */
575 uint8_t* value;
576 /**
577 * Value length.
578 */
579 size_t len;
580
581};
582
583/**
584 * @defgroup ntcore_Raw_cfunc Raw Functions
585 * @ingroup ntcore_c_api
586 * @{
587 */
588
589/**
590 * Publish a new value.
591 *
592 * @param pubentry publisher or entry handle
593 * @param time timestamp; 0 indicates current NT time should be used
594 * @param value value to publish
595 * @param len length of value
596
597 */
598NT_Bool NT_SetRaw(NT_Handle pubentry, int64_t time, const uint8_t* value, size_t len);
599
600/**
601 * Publish a default value.
602 * On reconnect, a default value will never be used in preference to a
603 * published value.
604 *
605 * @param pubentry publisher or entry handle
606 * @param defaultValue default value
607 * @param defaultValueLen length of default value
608
609 */
610NT_Bool NT_SetDefaultRaw(NT_Handle pubentry, const uint8_t* defaultValue, size_t defaultValueLen);
611
612/**
613 * Get the last published value.
614 * If no value has been published, returns the passed defaultValue.
615 *
616 * @param subentry subscriber or entry handle
617 * @param defaultValue default value to return if no value has been published
618 * @param defaultValueLen length of default value
619 * @param len length of returned value (output)
620
621 * @return value
622 */
623uint8_t* NT_GetRaw(NT_Handle subentry, const uint8_t* defaultValue, size_t defaultValueLen, size_t* len);
624
625/**
626 * Get the last published value along with its timestamp.
627 * If no value has been published, returns the passed defaultValue and a
628 * timestamp of 0.
629 *
630 * @param subentry subscriber or entry handle
631 * @param defaultValue default value to return if no value has been published
632 * @param defaultValueLen length of default value
633
634 * @param value timestamped value (output)
635 */
636void NT_GetAtomicRaw(NT_Handle subentry, const uint8_t* defaultValue, size_t defaultValueLen, struct NT_TimestampedRaw* value);
637
638/**
639 * Disposes a timestamped value (as returned by NT_GetAtomicRaw).
640 *
641 * @param value timestamped value
642 */
644
645/**
646 * Get an array of all value changes since the last call to ReadQueue.
647 * Also provides a timestamp for each value.
648 *
649 * @note The "poll storage" subscribe option can be used to set the queue
650 * depth.
651 *
652 * @param subentry subscriber or entry handle
653 * @param len length of returned array (output)
654 * @return Array of timestamped values; NULL if no new changes have
655 * been published since the previous call.
656 */
658
659/**
660 * Frees a timestamped array of values (as returned by NT_ReadQueueRaw).
661 *
662 * @param arr array
663 * @param len length of array
664 */
665void NT_FreeQueueRaw(struct NT_TimestampedRaw* arr, size_t len);
666
667/** @} */
668
669/**
670 * Timestamped BooleanArray.
671 * @ingroup ntcore_c_api
672 */
674 /**
675 * Time in local time base.
676 */
677 int64_t time;
678
679 /**
680 * Time in server time base. May be 0 or 1 for locally set values.
681 */
682 int64_t serverTime;
683
684 /**
685 * Value.
686 */
688 /**
689 * Value length.
690 */
691 size_t len;
692
693};
694
695/**
696 * @defgroup ntcore_BooleanArray_cfunc BooleanArray Functions
697 * @ingroup ntcore_c_api
698 * @{
699 */
700
701/**
702 * Publish a new value.
703 *
704 * @param pubentry publisher or entry handle
705 * @param time timestamp; 0 indicates current NT time should be used
706 * @param value value to publish
707 * @param len length of value
708
709 */
710NT_Bool NT_SetBooleanArray(NT_Handle pubentry, int64_t time, const NT_Bool* value, size_t len);
711
712/**
713 * Publish a default value.
714 * On reconnect, a default value will never be used in preference to a
715 * published value.
716 *
717 * @param pubentry publisher or entry handle
718 * @param defaultValue default value
719 * @param defaultValueLen length of default value
720
721 */
722NT_Bool NT_SetDefaultBooleanArray(NT_Handle pubentry, const NT_Bool* defaultValue, size_t defaultValueLen);
723
724/**
725 * Get the last published value.
726 * If no value has been published, returns the passed defaultValue.
727 *
728 * @param subentry subscriber or entry handle
729 * @param defaultValue default value to return if no value has been published
730 * @param defaultValueLen length of default value
731 * @param len length of returned value (output)
732
733 * @return value
734 */
735NT_Bool* NT_GetBooleanArray(NT_Handle subentry, const NT_Bool* defaultValue, size_t defaultValueLen, size_t* len);
736
737/**
738 * Get the last published value along with its timestamp.
739 * If no value has been published, returns the passed defaultValue and a
740 * timestamp of 0.
741 *
742 * @param subentry subscriber or entry handle
743 * @param defaultValue default value to return if no value has been published
744 * @param defaultValueLen length of default value
745
746 * @param value timestamped value (output)
747 */
748void NT_GetAtomicBooleanArray(NT_Handle subentry, const NT_Bool* defaultValue, size_t defaultValueLen, struct NT_TimestampedBooleanArray* value);
749
750/**
751 * Disposes a timestamped value (as returned by NT_GetAtomicBooleanArray).
752 *
753 * @param value timestamped value
754 */
756
757/**
758 * Get an array of all value changes since the last call to ReadQueue.
759 * Also provides a timestamp for each value.
760 *
761 * @note The "poll storage" subscribe option can be used to set the queue
762 * depth.
763 *
764 * @param subentry subscriber or entry handle
765 * @param len length of returned array (output)
766 * @return Array of timestamped values; NULL if no new changes have
767 * been published since the previous call.
768 */
770
771/**
772 * Frees a timestamped array of values (as returned by NT_ReadQueueBooleanArray).
773 *
774 * @param arr array
775 * @param len length of array
776 */
778
779/** @} */
780
781/**
782 * Timestamped IntegerArray.
783 * @ingroup ntcore_c_api
784 */
786 /**
787 * Time in local time base.
788 */
789 int64_t time;
790
791 /**
792 * Time in server time base. May be 0 or 1 for locally set values.
793 */
794 int64_t serverTime;
795
796 /**
797 * Value.
798 */
799 int64_t* value;
800 /**
801 * Value length.
802 */
803 size_t len;
804
805};
806
807/**
808 * @defgroup ntcore_IntegerArray_cfunc IntegerArray Functions
809 * @ingroup ntcore_c_api
810 * @{
811 */
812
813/**
814 * Publish a new value.
815 *
816 * @param pubentry publisher or entry handle
817 * @param time timestamp; 0 indicates current NT time should be used
818 * @param value value to publish
819 * @param len length of value
820
821 */
822NT_Bool NT_SetIntegerArray(NT_Handle pubentry, int64_t time, const int64_t* value, size_t len);
823
824/**
825 * Publish a default value.
826 * On reconnect, a default value will never be used in preference to a
827 * published value.
828 *
829 * @param pubentry publisher or entry handle
830 * @param defaultValue default value
831 * @param defaultValueLen length of default value
832
833 */
834NT_Bool NT_SetDefaultIntegerArray(NT_Handle pubentry, const int64_t* defaultValue, size_t defaultValueLen);
835
836/**
837 * Get the last published value.
838 * If no value has been published, returns the passed defaultValue.
839 *
840 * @param subentry subscriber or entry handle
841 * @param defaultValue default value to return if no value has been published
842 * @param defaultValueLen length of default value
843 * @param len length of returned value (output)
844
845 * @return value
846 */
847int64_t* NT_GetIntegerArray(NT_Handle subentry, const int64_t* defaultValue, size_t defaultValueLen, size_t* len);
848
849/**
850 * Get the last published value along with its timestamp.
851 * If no value has been published, returns the passed defaultValue and a
852 * timestamp of 0.
853 *
854 * @param subentry subscriber or entry handle
855 * @param defaultValue default value to return if no value has been published
856 * @param defaultValueLen length of default value
857
858 * @param value timestamped value (output)
859 */
860void NT_GetAtomicIntegerArray(NT_Handle subentry, const int64_t* defaultValue, size_t defaultValueLen, struct NT_TimestampedIntegerArray* value);
861
862/**
863 * Disposes a timestamped value (as returned by NT_GetAtomicIntegerArray).
864 *
865 * @param value timestamped value
866 */
868
869/**
870 * Get an array of all value changes since the last call to ReadQueue.
871 * Also provides a timestamp for each value.
872 *
873 * @note The "poll storage" subscribe option can be used to set the queue
874 * depth.
875 *
876 * @param subentry subscriber or entry handle
877 * @param len length of returned array (output)
878 * @return Array of timestamped values; NULL if no new changes have
879 * been published since the previous call.
880 */
882
883/**
884 * Frees a timestamped array of values (as returned by NT_ReadQueueIntegerArray).
885 *
886 * @param arr array
887 * @param len length of array
888 */
890
891/** @} */
892
893/**
894 * Timestamped FloatArray.
895 * @ingroup ntcore_c_api
896 */
898 /**
899 * Time in local time base.
900 */
901 int64_t time;
902
903 /**
904 * Time in server time base. May be 0 or 1 for locally set values.
905 */
906 int64_t serverTime;
907
908 /**
909 * Value.
910 */
911 float* value;
912 /**
913 * Value length.
914 */
915 size_t len;
916
917};
918
919/**
920 * @defgroup ntcore_FloatArray_cfunc FloatArray Functions
921 * @ingroup ntcore_c_api
922 * @{
923 */
924
925/**
926 * Publish a new value.
927 *
928 * @param pubentry publisher or entry handle
929 * @param time timestamp; 0 indicates current NT time should be used
930 * @param value value to publish
931 * @param len length of value
932
933 */
934NT_Bool NT_SetFloatArray(NT_Handle pubentry, int64_t time, const float* value, size_t len);
935
936/**
937 * Publish a default value.
938 * On reconnect, a default value will never be used in preference to a
939 * published value.
940 *
941 * @param pubentry publisher or entry handle
942 * @param defaultValue default value
943 * @param defaultValueLen length of default value
944
945 */
946NT_Bool NT_SetDefaultFloatArray(NT_Handle pubentry, const float* defaultValue, size_t defaultValueLen);
947
948/**
949 * Get the last published value.
950 * If no value has been published, returns the passed defaultValue.
951 *
952 * @param subentry subscriber or entry handle
953 * @param defaultValue default value to return if no value has been published
954 * @param defaultValueLen length of default value
955 * @param len length of returned value (output)
956
957 * @return value
958 */
959float* NT_GetFloatArray(NT_Handle subentry, const float* defaultValue, size_t defaultValueLen, size_t* len);
960
961/**
962 * Get the last published value along with its timestamp.
963 * If no value has been published, returns the passed defaultValue and a
964 * timestamp of 0.
965 *
966 * @param subentry subscriber or entry handle
967 * @param defaultValue default value to return if no value has been published
968 * @param defaultValueLen length of default value
969
970 * @param value timestamped value (output)
971 */
972void NT_GetAtomicFloatArray(NT_Handle subentry, const float* defaultValue, size_t defaultValueLen, struct NT_TimestampedFloatArray* value);
973
974/**
975 * Disposes a timestamped value (as returned by NT_GetAtomicFloatArray).
976 *
977 * @param value timestamped value
978 */
980
981/**
982 * Get an array of all value changes since the last call to ReadQueue.
983 * Also provides a timestamp for each value.
984 *
985 * @note The "poll storage" subscribe option can be used to set the queue
986 * depth.
987 *
988 * @param subentry subscriber or entry handle
989 * @param len length of returned array (output)
990 * @return Array of timestamped values; NULL if no new changes have
991 * been published since the previous call.
992 */
994
995/**
996 * Frees a timestamped array of values (as returned by NT_ReadQueueFloatArray).
997 *
998 * @param arr array
999 * @param len length of array
1000 */
1002
1003/** @} */
1004
1005/**
1006 * Timestamped DoubleArray.
1007 * @ingroup ntcore_c_api
1008 */
1010 /**
1011 * Time in local time base.
1012 */
1013 int64_t time;
1014
1015 /**
1016 * Time in server time base. May be 0 or 1 for locally set values.
1017 */
1018 int64_t serverTime;
1019
1020 /**
1021 * Value.
1022 */
1023 double* value;
1024 /**
1025 * Value length.
1026 */
1027 size_t len;
1028
1029};
1030
1031/**
1032 * @defgroup ntcore_DoubleArray_cfunc DoubleArray Functions
1033 * @ingroup ntcore_c_api
1034 * @{
1035 */
1036
1037/**
1038 * Publish a new value.
1039 *
1040 * @param pubentry publisher or entry handle
1041 * @param time timestamp; 0 indicates current NT time should be used
1042 * @param value value to publish
1043 * @param len length of value
1044
1045 */
1046NT_Bool NT_SetDoubleArray(NT_Handle pubentry, int64_t time, const double* value, size_t len);
1047
1048/**
1049 * Publish a default value.
1050 * On reconnect, a default value will never be used in preference to a
1051 * published value.
1052 *
1053 * @param pubentry publisher or entry handle
1054 * @param defaultValue default value
1055 * @param defaultValueLen length of default value
1056
1057 */
1058NT_Bool NT_SetDefaultDoubleArray(NT_Handle pubentry, const double* defaultValue, size_t defaultValueLen);
1059
1060/**
1061 * Get the last published value.
1062 * If no value has been published, returns the passed defaultValue.
1063 *
1064 * @param subentry subscriber or entry handle
1065 * @param defaultValue default value to return if no value has been published
1066 * @param defaultValueLen length of default value
1067 * @param len length of returned value (output)
1068
1069 * @return value
1070 */
1071double* NT_GetDoubleArray(NT_Handle subentry, const double* defaultValue, size_t defaultValueLen, size_t* len);
1072
1073/**
1074 * Get the last published value along with its timestamp.
1075 * If no value has been published, returns the passed defaultValue and a
1076 * timestamp of 0.
1077 *
1078 * @param subentry subscriber or entry handle
1079 * @param defaultValue default value to return if no value has been published
1080 * @param defaultValueLen length of default value
1081
1082 * @param value timestamped value (output)
1083 */
1084void NT_GetAtomicDoubleArray(NT_Handle subentry, const double* defaultValue, size_t defaultValueLen, struct NT_TimestampedDoubleArray* value);
1085
1086/**
1087 * Disposes a timestamped value (as returned by NT_GetAtomicDoubleArray).
1088 *
1089 * @param value timestamped value
1090 */
1092
1093/**
1094 * Get an array of all value changes since the last call to ReadQueue.
1095 * Also provides a timestamp for each value.
1096 *
1097 * @note The "poll storage" subscribe option can be used to set the queue
1098 * depth.
1099 *
1100 * @param subentry subscriber or entry handle
1101 * @param len length of returned array (output)
1102 * @return Array of timestamped values; NULL if no new changes have
1103 * been published since the previous call.
1104 */
1106
1107/**
1108 * Frees a timestamped array of values (as returned by NT_ReadQueueDoubleArray).
1109 *
1110 * @param arr array
1111 * @param len length of array
1112 */
1114
1115/** @} */
1116
1117/**
1118 * Timestamped StringArray.
1119 * @ingroup ntcore_c_api
1120 */
1122 /**
1123 * Time in local time base.
1124 */
1125 int64_t time;
1126
1127 /**
1128 * Time in server time base. May be 0 or 1 for locally set values.
1129 */
1130 int64_t serverTime;
1131
1132 /**
1133 * Value.
1134 */
1136 /**
1137 * Value length.
1138 */
1139 size_t len;
1140
1141};
1142
1143/**
1144 * @defgroup ntcore_StringArray_cfunc StringArray Functions
1145 * @ingroup ntcore_c_api
1146 * @{
1147 */
1148
1149/**
1150 * Publish a new value.
1151 *
1152 * @param pubentry publisher or entry handle
1153 * @param time timestamp; 0 indicates current NT time should be used
1154 * @param value value to publish
1155 * @param len length of value
1156
1157 */
1158NT_Bool NT_SetStringArray(NT_Handle pubentry, int64_t time, const struct WPI_String* value, size_t len);
1159
1160/**
1161 * Publish a default value.
1162 * On reconnect, a default value will never be used in preference to a
1163 * published value.
1164 *
1165 * @param pubentry publisher or entry handle
1166 * @param defaultValue default value
1167 * @param defaultValueLen length of default value
1168
1169 */
1170NT_Bool NT_SetDefaultStringArray(NT_Handle pubentry, const struct WPI_String* defaultValue, size_t defaultValueLen);
1171
1172/**
1173 * Get the last published value.
1174 * If no value has been published, returns the passed defaultValue.
1175 *
1176 * @param subentry subscriber or entry handle
1177 * @param defaultValue default value to return if no value has been published
1178 * @param defaultValueLen length of default value
1179 * @param len length of returned value (output)
1180
1181 * @return value
1182 */
1183struct WPI_String* NT_GetStringArray(NT_Handle subentry, const struct WPI_String* defaultValue, size_t defaultValueLen, size_t* len);
1184
1185/**
1186 * Get the last published value along with its timestamp.
1187 * If no value has been published, returns the passed defaultValue and a
1188 * timestamp of 0.
1189 *
1190 * @param subentry subscriber or entry handle
1191 * @param defaultValue default value to return if no value has been published
1192 * @param defaultValueLen length of default value
1193
1194 * @param value timestamped value (output)
1195 */
1196void NT_GetAtomicStringArray(NT_Handle subentry, const struct WPI_String* defaultValue, size_t defaultValueLen, struct NT_TimestampedStringArray* value);
1197
1198/**
1199 * Disposes a timestamped value (as returned by NT_GetAtomicStringArray).
1200 *
1201 * @param value timestamped value
1202 */
1204
1205/**
1206 * Get an array of all value changes since the last call to ReadQueue.
1207 * Also provides a timestamp for each value.
1208 *
1209 * @note The "poll storage" subscribe option can be used to set the queue
1210 * depth.
1211 *
1212 * @param subentry subscriber or entry handle
1213 * @param len length of returned array (output)
1214 * @return Array of timestamped values; NULL if no new changes have
1215 * been published since the previous call.
1216 */
1218
1219/**
1220 * Frees a timestamped array of values (as returned by NT_ReadQueueStringArray).
1221 *
1222 * @param arr array
1223 * @param len length of array
1224 */
1226
1227/** @} */
1228
1229
1230#ifdef __cplusplus
1231} // extern "C"
1232#endif
NT_Bool NT_SetDefaultBoolean(NT_Handle pubentry, NT_Bool defaultValue)
Publish a default value.
void NT_GetAtomicBoolean(NT_Handle subentry, NT_Bool defaultValue, struct NT_TimestampedBoolean *value)
Get the last published value along with its timestamp.
void NT_FreeQueueBoolean(struct NT_TimestampedBoolean *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueBoolean).
NT_Bool NT_GetBoolean(NT_Handle subentry, NT_Bool defaultValue)
Get the last published value.
void NT_DisposeTimestampedBoolean(struct NT_TimestampedBoolean *value)
Disposes a timestamped value (as returned by NT_GetAtomicBoolean).
NT_Bool * NT_ReadQueueValuesBoolean(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
struct NT_TimestampedBoolean * NT_ReadQueueBoolean(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
NT_Bool NT_SetBoolean(NT_Handle pubentry, int64_t time, NT_Bool value)
Publish a new value.
void NT_FreeQueueBooleanArray(struct NT_TimestampedBooleanArray *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueBooleanArray).
void NT_GetAtomicBooleanArray(NT_Handle subentry, const NT_Bool *defaultValue, size_t defaultValueLen, struct NT_TimestampedBooleanArray *value)
Get the last published value along with its timestamp.
NT_Bool * NT_GetBooleanArray(NT_Handle subentry, const NT_Bool *defaultValue, size_t defaultValueLen, size_t *len)
Get the last published value.
NT_Bool NT_SetDefaultBooleanArray(NT_Handle pubentry, const NT_Bool *defaultValue, size_t defaultValueLen)
Publish a default value.
NT_Bool NT_SetBooleanArray(NT_Handle pubentry, int64_t time, const NT_Bool *value, size_t len)
Publish a new value.
void NT_DisposeTimestampedBooleanArray(struct NT_TimestampedBooleanArray *value)
Disposes a timestamped value (as returned by NT_GetAtomicBooleanArray).
struct NT_TimestampedBooleanArray * NT_ReadQueueBooleanArray(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
void NT_FreeQueueDouble(struct NT_TimestampedDouble *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueDouble).
void NT_GetAtomicDouble(NT_Handle subentry, double defaultValue, struct NT_TimestampedDouble *value)
Get the last published value along with its timestamp.
struct NT_TimestampedDouble * NT_ReadQueueDouble(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
void NT_DisposeTimestampedDouble(struct NT_TimestampedDouble *value)
Disposes a timestamped value (as returned by NT_GetAtomicDouble).
NT_Bool NT_SetDefaultDouble(NT_Handle pubentry, double defaultValue)
Publish a default value.
double NT_GetDouble(NT_Handle subentry, double defaultValue)
Get the last published value.
NT_Bool NT_SetDouble(NT_Handle pubentry, int64_t time, double value)
Publish a new value.
double * NT_ReadQueueValuesDouble(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
NT_Bool NT_SetDoubleArray(NT_Handle pubentry, int64_t time, const double *value, size_t len)
Publish a new value.
void NT_GetAtomicDoubleArray(NT_Handle subentry, const double *defaultValue, size_t defaultValueLen, struct NT_TimestampedDoubleArray *value)
Get the last published value along with its timestamp.
NT_Bool NT_SetDefaultDoubleArray(NT_Handle pubentry, const double *defaultValue, size_t defaultValueLen)
Publish a default value.
double * NT_GetDoubleArray(NT_Handle subentry, const double *defaultValue, size_t defaultValueLen, size_t *len)
Get the last published value.
void NT_FreeQueueDoubleArray(struct NT_TimestampedDoubleArray *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueDoubleArray).
void NT_DisposeTimestampedDoubleArray(struct NT_TimestampedDoubleArray *value)
Disposes a timestamped value (as returned by NT_GetAtomicDoubleArray).
struct NT_TimestampedDoubleArray * NT_ReadQueueDoubleArray(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
void NT_FreeQueueFloat(struct NT_TimestampedFloat *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueFloat).
float NT_GetFloat(NT_Handle subentry, float defaultValue)
Get the last published value.
struct NT_TimestampedFloat * NT_ReadQueueFloat(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
void NT_DisposeTimestampedFloat(struct NT_TimestampedFloat *value)
Disposes a timestamped value (as returned by NT_GetAtomicFloat).
void NT_GetAtomicFloat(NT_Handle subentry, float defaultValue, struct NT_TimestampedFloat *value)
Get the last published value along with its timestamp.
NT_Bool NT_SetDefaultFloat(NT_Handle pubentry, float defaultValue)
Publish a default value.
float * NT_ReadQueueValuesFloat(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
NT_Bool NT_SetFloat(NT_Handle pubentry, int64_t time, float value)
Publish a new value.
void NT_DisposeTimestampedFloatArray(struct NT_TimestampedFloatArray *value)
Disposes a timestamped value (as returned by NT_GetAtomicFloatArray).
NT_Bool NT_SetDefaultFloatArray(NT_Handle pubentry, const float *defaultValue, size_t defaultValueLen)
Publish a default value.
float * NT_GetFloatArray(NT_Handle subentry, const float *defaultValue, size_t defaultValueLen, size_t *len)
Get the last published value.
void NT_GetAtomicFloatArray(NT_Handle subentry, const float *defaultValue, size_t defaultValueLen, struct NT_TimestampedFloatArray *value)
Get the last published value along with its timestamp.
NT_Bool NT_SetFloatArray(NT_Handle pubentry, int64_t time, const float *value, size_t len)
Publish a new value.
struct NT_TimestampedFloatArray * NT_ReadQueueFloatArray(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
void NT_FreeQueueFloatArray(struct NT_TimestampedFloatArray *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueFloatArray).
struct NT_TimestampedInteger * NT_ReadQueueInteger(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
int64_t * NT_ReadQueueValuesInteger(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
NT_Bool NT_SetDefaultInteger(NT_Handle pubentry, int64_t defaultValue)
Publish a default value.
NT_Bool NT_SetInteger(NT_Handle pubentry, int64_t time, int64_t value)
Publish a new value.
void NT_FreeQueueInteger(struct NT_TimestampedInteger *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueInteger).
void NT_DisposeTimestampedInteger(struct NT_TimestampedInteger *value)
Disposes a timestamped value (as returned by NT_GetAtomicInteger).
int64_t NT_GetInteger(NT_Handle subentry, int64_t defaultValue)
Get the last published value.
void NT_GetAtomicInteger(NT_Handle subentry, int64_t defaultValue, struct NT_TimestampedInteger *value)
Get the last published value along with its timestamp.
int64_t * NT_GetIntegerArray(NT_Handle subentry, const int64_t *defaultValue, size_t defaultValueLen, size_t *len)
Get the last published value.
void NT_GetAtomicIntegerArray(NT_Handle subentry, const int64_t *defaultValue, size_t defaultValueLen, struct NT_TimestampedIntegerArray *value)
Get the last published value along with its timestamp.
struct NT_TimestampedIntegerArray * NT_ReadQueueIntegerArray(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
NT_Bool NT_SetDefaultIntegerArray(NT_Handle pubentry, const int64_t *defaultValue, size_t defaultValueLen)
Publish a default value.
NT_Bool NT_SetIntegerArray(NT_Handle pubentry, int64_t time, const int64_t *value, size_t len)
Publish a new value.
void NT_DisposeTimestampedIntegerArray(struct NT_TimestampedIntegerArray *value)
Disposes a timestamped value (as returned by NT_GetAtomicIntegerArray).
void NT_FreeQueueIntegerArray(struct NT_TimestampedIntegerArray *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueIntegerArray).
NT_Bool NT_SetDefaultRaw(NT_Handle pubentry, const uint8_t *defaultValue, size_t defaultValueLen)
Publish a default value.
void NT_GetAtomicRaw(NT_Handle subentry, const uint8_t *defaultValue, size_t defaultValueLen, struct NT_TimestampedRaw *value)
Get the last published value along with its timestamp.
uint8_t * NT_GetRaw(NT_Handle subentry, const uint8_t *defaultValue, size_t defaultValueLen, size_t *len)
Get the last published value.
struct NT_TimestampedRaw * NT_ReadQueueRaw(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
void NT_FreeQueueRaw(struct NT_TimestampedRaw *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueRaw).
void NT_DisposeTimestampedRaw(struct NT_TimestampedRaw *value)
Disposes a timestamped value (as returned by NT_GetAtomicRaw).
NT_Bool NT_SetRaw(NT_Handle pubentry, int64_t time, const uint8_t *value, size_t len)
Publish a new value.
NT_Bool NT_SetString(NT_Handle pubentry, int64_t time, const struct WPI_String *value)
Publish a new value.
void NT_DisposeTimestampedString(struct NT_TimestampedString *value)
Disposes a timestamped value (as returned by NT_GetAtomicString).
void NT_GetAtomicString(NT_Handle subentry, const struct WPI_String *defaultValue, struct NT_TimestampedString *value)
Get the last published value along with its timestamp.
NT_Bool NT_SetDefaultString(NT_Handle pubentry, const struct WPI_String *defaultValue)
Publish a default value.
void NT_FreeQueueString(struct NT_TimestampedString *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueString).
struct NT_TimestampedString * NT_ReadQueueString(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
void NT_GetString(NT_Handle subentry, const struct WPI_String *defaultValue, struct WPI_String *value)
Get the last published value.
NT_Bool NT_SetStringArray(NT_Handle pubentry, int64_t time, const struct WPI_String *value, size_t len)
Publish a new value.
struct NT_TimestampedStringArray * NT_ReadQueueStringArray(NT_Handle subentry, size_t *len)
Get an array of all value changes since the last call to ReadQueue.
struct WPI_String * NT_GetStringArray(NT_Handle subentry, const struct WPI_String *defaultValue, size_t defaultValueLen, size_t *len)
Get the last published value.
void NT_GetAtomicStringArray(NT_Handle subentry, const struct WPI_String *defaultValue, size_t defaultValueLen, struct NT_TimestampedStringArray *value)
Get the last published value along with its timestamp.
void NT_FreeQueueStringArray(struct NT_TimestampedStringArray *arr, size_t len)
Frees a timestamped array of values (as returned by NT_ReadQueueStringArray).
void NT_DisposeTimestampedStringArray(struct NT_TimestampedStringArray *value)
Disposes a timestamped value (as returned by NT_GetAtomicStringArray).
NT_Bool NT_SetDefaultStringArray(NT_Handle pubentry, const struct WPI_String *defaultValue, size_t defaultValueLen)
Publish a default value.
int NT_Bool
Typedefs.
Definition: ntcore_c.h:32
unsigned int NT_Handle
Definition: ntcore_c.h:34
Timestamped BooleanArray.
Definition: ntcore_c_types.h:673
NT_Bool * value
Value.
Definition: ntcore_c_types.h:687
size_t len
Value length.
Definition: ntcore_c_types.h:691
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:677
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:682
Timestamped Boolean.
Definition: ntcore_c_types.h:22
NT_Bool value
Value.
Definition: ntcore_c_types.h:36
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:26
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:31
Timestamped DoubleArray.
Definition: ntcore_c_types.h:1009
double * value
Value.
Definition: ntcore_c_types.h:1023
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:1013
size_t len
Value length.
Definition: ntcore_c_types.h:1027
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:1018
Timestamped Double.
Definition: ntcore_c_types.h:352
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:356
double value
Value.
Definition: ntcore_c_types.h:366
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:361
Timestamped FloatArray.
Definition: ntcore_c_types.h:897
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:906
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:901
size_t len
Value length.
Definition: ntcore_c_types.h:915
float * value
Value.
Definition: ntcore_c_types.h:911
Timestamped Float.
Definition: ntcore_c_types.h:242
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:251
float value
Value.
Definition: ntcore_c_types.h:256
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:246
Timestamped IntegerArray.
Definition: ntcore_c_types.h:785
size_t len
Value length.
Definition: ntcore_c_types.h:803
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:789
int64_t * value
Value.
Definition: ntcore_c_types.h:799
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:794
Timestamped Integer.
Definition: ntcore_c_types.h:132
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:136
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:141
int64_t value
Value.
Definition: ntcore_c_types.h:146
Timestamped Raw.
Definition: ntcore_c_types.h:561
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:570
size_t len
Value length.
Definition: ntcore_c_types.h:579
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:565
uint8_t * value
Value.
Definition: ntcore_c_types.h:575
Timestamped StringArray.
Definition: ntcore_c_types.h:1121
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:1125
size_t len
Value length.
Definition: ntcore_c_types.h:1139
struct WPI_String * value
Value.
Definition: ntcore_c_types.h:1135
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:1130
Timestamped String.
Definition: ntcore_c_types.h:462
struct WPI_String value
Value.
Definition: ntcore_c_types.h:476
int64_t serverTime
Time in server time base.
Definition: ntcore_c_types.h:471
int64_t time
Time in local time base.
Definition: ntcore_c_types.h:466
A const UTF8 string.
Definition: string.h:14
size_t len
Length.
Definition: string.h:18