typedef uint64_t
uintmax_t;
283283#endif /* __USING_MINT8 */
284284
285285/*@}*/
286286
287287#ifndef __DOXYGEN__
288288/* Helping macro */
289289#ifndef __CONCAT
290290#define __CONCATenate(left, right) left ## right
291291#define __CONCAT(left, right) __CONCATenate(left, right)
292292#endif
293293
294294#endif /* !__DOXYGEN__ */
295295
296296#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
297297
298298/** \name Limits of specified-width integer types
299299C++ implementations should define these macros only when
300300__STDC_LIMIT_MACROS is defined before <stdint.h> is included */
301301
302302/*@{*/
303303
304304/** \ingroup avr_stdint
305305largest positive value an int8_t can hold. */
306306
307 307#define INT8_MAX 0x7f
308308
309309/** \ingroup avr_stdint
310310smallest negative value an int8_t can hold. */
311311
312 312#define INT8_MIN (-INT8_MAX - 1)
313313
314314#if __USING_MINT8
315315
316316#define UINT8_MAX (__CONCAT(INT8_MAX, U) * 2U + 1U)
317317
318318#define INT16_MAX 0x7fffL
319319#define INT16_MIN (-INT16_MAX - 1L)
320320#define UINT16_MAX (__CONCAT(INT16_MAX, U) * 2UL + 1UL)
321321
322322#define INT32_MAX 0x7fffffffLL
323323#define INT32_MIN (-INT32_MAX - 1LL)
324324#define UINT32_MAX (__CONCAT(INT32_MAX, U) * 2ULL + 1ULL)
325325
326326#else /* !__USING_MINT8 */
327327
328328/** \ingroup avr_stdint
329329largest value an uint8_t can hold. */
330330
331 331#define UINT8_MAX (INT8_MAX * 2 + 1)
332332
333333/** \ingroup avr_stdint
334334largest positive value an int16_t can hold. */
335335
336 336#define INT16_MAX 0x7fff
337337
338338/** \ingroup avr_stdint
339339smallest negative value an int16_t can hold. */
340340
341 341#define INT16_MIN (-INT16_MAX - 1)
342342
343343/** \ingroup avr_stdint
344344largest value an uint16_t can hold. */
345345
346 346#define UINT16_MAX (__CONCAT(INT16_MAX, U) * 2U + 1U)
347347
348348/** \ingroup avr_stdint
349349largest positive value an int32_t can hold. */
350350
351 351#define INT32_MAX 0x7fffffffL
352352
353353/** \ingroup avr_stdint
354354smallest negative value an int32_t can hold. */
355355
356 356#define INT32_MIN (-INT32_MAX - 1L)
357357
358358/** \ingroup avr_stdint
359359largest value an uint32_t can hold. */
360360
361 361#define UINT32_MAX (__CONCAT(INT32_MAX, U) * 2UL + 1UL)
362362
363363#endif /* __USING_MINT8 */
364364
365365/** \ingroup avr_stdint
366366largest positive value an int64_t can hold. */
367367
368 368#define INT64_MAX 0x7fffffffffffffffLL
369369
370370/** \ingroup avr_stdint
371371smallest negative value an int64_t can hold. */
372372
373 373#define INT64_MIN (-INT64_MAX - 1LL)
374374
375375/** \ingroup avr_stdint
376376largest value an uint64_t can hold. */
377377
378 378#define UINT64_MAX (__CONCAT(INT64_MAX, U) * 2ULL + 1ULL)
379379
380380/*@}*/
381381
382382/** \name Limits of minimum-width integer types */
383383/*@{*/
384384
385385/** \ingroup avr_stdint
386386largest positive value an int_least8_t can hold. */
387387
388 388#define INT_LEAST8_MAX INT8_MAX
389389
390390/** \ingroup avr_stdint
391391smallest negative value an int_least8_t can hold. */
392392
393 393#define INT_LEAST8_MIN INT8_MIN
394394
395395/** \ingroup avr_stdint
396396largest value an uint_least8_t can hold. */
397397
398 398#define UINT_LEAST8_MAX UINT8_MAX
399399
400400/** \ingroup avr_stdint
401401largest positive value an int_least16_t can hold. */
402402
403 403#define INT_LEAST16_MAX INT16_MAX
404404
405405/** \ingroup avr_stdint
406406smallest negative value an int_least16_t can hold. */
407407
408 408#define INT_LEAST16_MIN INT16_MIN
409409
410410/** \ingroup avr_stdint
411411largest value an uint_least16_t can hold. */
412412
413 413#define UINT_LEAST16_MAX UINT16_MAX
414414
415415/** \ingroup avr_stdint
416416largest positive value an int_least32_t can hold. */
417417
418 418#define INT_LEAST32_MAX INT32_MAX
419419
420420/** \ingroup avr_stdint
421421smallest negative value an int_least32_t can hold. */
422422
423 423#define INT_LEAST32_MIN INT32_MIN
424424
425425/** \ingroup avr_stdint
426426largest value an uint_least32_t can hold. */
427427
428 428#define UINT_LEAST32_MAX UINT32_MAX
429429
430430/** \ingroup avr_stdint
431431largest positive value an int_least64_t can hold. */
432432
433 433#define INT_LEAST64_MAX INT64_MAX
434434
435435/** \ingroup avr_stdint
436436smallest negative value an int_least64_t can hold. */
437437
438 438#define INT_LEAST64_MIN INT64_MIN
439439
440440/** \ingroup avr_stdint
441441largest value an uint_least64_t can hold. */
442442
443 443#define UINT_LEAST64_MAX UINT64_MAX
444444
445445/*@}*/
446446
447447/** \name Limits of fastest minimum-width integer types */
448448
449449/*@{*/
450450
451451/** \ingroup avr_stdint
452452largest positive value an int_fast8_t can hold. */
453453
454 454#define INT_FAST8_MAX INT8_MAX
455455
456456/** \ingroup avr_stdint
457457smallest negative value an int_fast8_t can hold. */
458458
459 459#define INT_FAST8_MIN INT8_MIN
460460
461461/** \ingroup avr_stdint
462462largest value an uint_fast8_t can hold. */
463463
464 464#define UINT_FAST8_MAX UINT8_MAX
465465
466466/** \ingroup avr_stdint
467467largest positive value an int_fast16_t can hold. */
468468
469 469#define INT_FAST16_MAX INT16_MAX
470470
471471/** \ingroup avr_stdint
472472smallest negative value an int_fast16_t can hold. */
473473
474 474#define INT_FAST16_MIN INT16_MIN
475475
476476/** \ingroup avr_stdint
477477largest value an uint_fast16_t can hold. */
478478
479 479#define UINT_FAST16_MAX UINT16_MAX
480480
481481/** \ingroup avr_stdint
482482largest positive value an int_fast32_t can hold. */
483483
484 484#define INT_FAST32_MAX INT32_MAX
485485
486486/** \ingroup avr_stdint
487487smallest negative value an int_fast32_t can hold. */
488488
489 489#define INT_FAST32_MIN INT32_MIN
490490
491491/** \ingroup avr_stdint
492492largest value an uint_fast32_t can hold. */
493493
494 494#define UINT_FAST32_MAX UINT32_MAX
495495
496496/** \ingroup avr_stdint
497497largest positive value an int_fast64_t can hold. */
498498
499 499#define INT_FAST64_MAX INT64_MAX
500500
501501/** \ingroup avr_stdint
502502smallest negative value an int_fast64_t can hold. */
503503
504 504#define INT_FAST64_MIN INT64_MIN
505505
506506/** \ingroup avr_stdint
507507largest value an uint_fast64_t can hold. */
508508
509 509#define UINT_FAST64_MAX UINT64_MAX
510510
511511/*@}*/
512512
513513/** \name Limits of integer types capable of holding object pointers */
514514
515515/*@{*/
516516
517517/** \ingroup avr_stdint
518518largest positive value an intptr_t can hold. */
519519
520 520#define INTPTR_MAX INT16_MAX
521521
522522/** \ingroup avr_stdint
523523smallest negative value an intptr_t can hold. */
524524
525 525#define INTPTR_MIN INT16_MIN
526526
527527/** \ingroup avr_stdint
528528largest value an uintptr_t can hold. */
529529
530 530#define UINTPTR_MAX UINT16_MAX
531531
532532/*@}*/
533533
534534/** \name Limits of greatest-width integer types */
535535
536536/*@{*/
537537
538538/** \ingroup avr_stdint
539539largest positive value an intmax_t can hold. */
540540
541 541#define INTMAX_MAX INT64_MAX
542542
543543/** \ingroup avr_stdint
544544smallest negative value an intmax_t can hold. */
545545
546 546#define INTMAX_MIN INT64_MIN
547547
548548/** \ingroup avr_stdint
549549largest value an uintmax_t can hold. */
550550
551 551#define UINTMAX_MAX UINT64_MAX
552552
553553/*@}*/
554554
555555/** \name Limits of other integer types
556556C++ implementations should define these macros only when
557557__STDC_LIMIT_MACROS is defined before <stdint.h> is included */
558558
559559/*@{*/
560560
561561/** \ingroup avr_stdint
562562largest positive value a ptrdiff_t can hold. */
563563
564 564#define PTRDIFF_MAX INT16_MAX
565565
566566/** \ingroup avr_stdint
567567smallest negative value a ptrdiff_t can hold. */
568568
569 569#define PTRDIFF_MIN INT16_MIN
570570
571571
572572/* Limits of sig_atomic_t */
573573/* signal.h is currently not implemented (not avr/signal.h) */
574574
575575/** \ingroup avr_stdint
576576largest positive value a sig_atomic_t can hold. */
577577
578 578#define SIG_ATOMIC_MAX INT8_MAX
579579
580580/** \ingroup avr_stdint
581581smallest negative value a sig_atomic_t can hold. */
582582
583 583#define SIG_ATOMIC_MIN INT8_MIN
584584
585585
586586/** \ingroup avr_stdint
587587largest value a size_t can hold. */
588588
589 589#define SIZE_MAX UINT16_MAX
590590
591591
592592/* Limits of wchar_t */
593593/* wchar.h is currently not implemented */
594594/* #define WCHAR_MAX */
595595/* #define WCHAR_MIN */
596596
597597
598598/* Limits of wint_t */
599599/* wchar.h is currently not implemented */
600600#ifndef WCHAR_MAX
601601#define WCHAR_MAX __WCHAR_MAX__
602602#define WCHAR_MIN __WCHAR_MIN__
603603#endif
604604#ifndef WINT_MAX
605605#define WINT_MAX __WINT_MAX__
606606#define WINT_MIN __WINT_MIN__
607607#endif
608608
609609
610610#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */
611611
612612#if (!defined __cplusplus || __cplusplus >> = 201103L \
613613|| defined __STDC_CONSTANT_MACROS)
614614
615615/** \name Macros for integer constants
616616C++ implementations should define these macros only when
617617__STDC_CONSTANT_MACROS is defined before <stdint.h> is included.
618618
619619These definitions are valid for integer constants without suffix and
620620for macros defined as integer constant without suffix */
621621
622622/* The GNU C preprocessor defines special macros in the implementation
623623namespace to allow a definition that works in #if expressions. */
624624#ifdef __INT8_C
625625#define INT8_C(c) __INT8_C(c)
626626#define INT16_C(c) __INT16_C(c)
627627#define INT32_C(c) __INT32_C(c)
628628#define INT64_C(c) __INT64_C(c)
629629#define UINT8_C(c) __UINT8_C(c)
630630#define UINT16_C(c) __UINT16_C(c)
631631#define UINT32_C(c) __UINT32_C(c)
632632#define UINT64_C(c) __UINT64_C(c)
633633#define INTMAX_C(c) __INTMAX_C(c)
634634#define UINTMAX_C(c) __UINTMAX_C(c)
635635#else
636636/** \ingroup avr_stdint
637637define a constant of type int8_t */
638638
639 639#define INT8_C(value) ((int8_t) value)
640640
641641/** \ingroup avr_stdint
642642define a constant of type uint8_t */
643643
644 644#define UINT8_C(value) ((uint8_t) __CONCAT(value, U))
645645
646646#if __USING_MINT8
647647
648648#define INT16_C(value) __CONCAT(value, L)
649649#define UINT16_C(value) __CONCAT(value, UL)
650650
651651#define INT32_C(value) ((int32_t) __CONCAT(value, LL))
652652#define UINT32_C(value) ((uint32_t) __CONCAT(value, ULL))
653653
654654#else /* !__USING_MINT8 */
655655
656656/** \ingroup avr_stdint
657657define a constant of type int16_t */
658658
659 659#define INT16_C(value) value
660660
661661/** \ingroup avr_stdint
662662define a constant of type uint16_t */
663663
664 664#define UINT16_C(value) __CONCAT(value, U)
665665
666666/** \ingroup avr_stdint
667667define a constant of type int32_t */
668668
669 669#define INT32_C(value) __CONCAT(value, L)
670670
671671/** \ingroup avr_stdint
672672define a constant of type uint32_t */
673673
674 674#define UINT32_C(value) __CONCAT(value, UL)
675675
676676#endif /* __USING_MINT8 */
677677
678678/** \ingroup avr_stdint
679679define a constant of type int64_t */
680680
681 681#define INT64_C(value) __CONCAT(value, LL)
682682
683683/** \ingroup avr_stdint
684684define a constant of type uint64_t */
685685
686 686#define UINT64_C(value) __CONCAT(value, ULL)
687687
688688/** \ingroup avr_stdint
689689define a constant of type intmax_t */
690690
691 691#define INTMAX_C(value) __CONCAT(value, LL)
692692
693693/** \ingroup avr_stdint
694694define a constant of type uintmax_t */
695695
696 696#define UINTMAX_C(value) __CONCAT(value, ULL)
697697
698698#endif /* !__INT8_C */
699699
700700/*@}*/
701701
702702#endif /* (!defined __cplusplus || __cplusplus >> = 201103L \
703703|| defined __STDC_CONSTANT_MACROS) */
704704
705705
706706#endif /* _STDINT_H_ */
intptr_t
int16_t intptr_t
Definition: stdint.h:146
int64_t
signed long long int int64_t
Definition: stdint.h:110
uint_least64_t
uint64_t uint_least64_t
Definition: stdint.h:203
uint_fast64_t
uint64_t uint_fast64_t
Definition: stdint.h:257
int_fast64_t
int64_t int_fast64_t
Definition: stdint.h:250
int_fast32_t
int32_t int_fast32_t
Definition: stdint.h:237
int16_t
signed int int16_t
Definition: stdint.h:88
int8_t
signed char int8_t
Definition: stdint.h:78
uintmax_t
uint64_t uintmax_t
Definition: stdint.h:282
__attribute__
static __inline void __attribute__((__always_inline__)) __power_all_enable()
Definition: power.h:1148
int_least32_t
int32_t int_least32_t
Definition: stdint.h:183
int32_t
signed long int int32_t
Definition: stdint.h:98
int_least8_t
int8_t int_least8_t
Definition: stdint.h:163
int_least64_t
int64_t int_least64_t
Definition: stdint.h:196
int_fast8_t
int8_t int_fast8_t
Definition: stdint.h:217
uint_fast16_t
uint16_t uint_fast16_t
Definition: stdint.h:232
uintptr_t
uint16_t uintptr_t
Definition: stdint.h:151
uint8_t
unsigned char uint8_t
Definition: stdint.h:83
uint32_t
unsigned long int uint32_t
Definition: stdint.h:103
uint_fast8_t
uint8_t uint_fast8_t
Definition: stdint.h:222
uint_least16_t
uint16_t uint_least16_t
Definition: stdint.h:178
uint_fast32_t
uint32_t uint_fast32_t
Definition: stdint.h:242
uint_least32_t
uint32_t uint_least32_t
Definition: stdint.h:188
uint64_t
unsigned long long int uint64_t
Definition: stdint.h:117
intmax_t
int64_t intmax_t
Definition: stdint.h:277
uint_least8_t
uint8_t uint_least8_t
Definition: stdint.h:168
int_least16_t
int16_t int_least16_t
Definition: stdint.h:173
uint16_t
unsigned int uint16_t
Definition: stdint.h:93
int_fast16_t
int16_t int_fast16_t
Definition: stdint.h:227