<avr/version.h>: avr-libc version macros(3)

NAME
<avr/version.h>: avr-libc version macros -

Detailed Description

 #include <avr/version.h>

This header file defines macros that contain version numbers and strings describing the current version of avr-libc.

The version number itself basically consists of three pieces that are separated by a dot: the major number, the minor number, and the revision number. For development versions (which use an odd minor number), the string representation additionally gets the date code (YYYYMMDD) appended.

This file will also be included by <avr/io.h>. That way, portable tests can be implemented using <avr/io.h> that can be used in code that wants to remain backwards-compatible to library versions prior to the date when the library version API had been added, as referenced but undefined C preprocessor macros automatically evaluate to 0.

  Defines
#define __AVR_LIBC_VERSION_STRING__ '1.6.1'
#define __AVR_LIBC_VERSION__ 10601UL
#define __AVR_LIBC_DATE_STRING__ '20071221'
#define __AVR_LIBC_DATE_ 20071221UL
#define __AVR_LIBC_MAJOR__ 1
#define __AVR_LIBC_MINOR__ 6
#define __AVR_LIBC_REVISION__ 1

Define Documentation

  #define __AVR_LIBC_DATE_ 20071221UL

Numerical representation of the release date.

  #define __AVR_LIBC_DATE_STRING__ '20071221'

String literal representation of the release date.

  #define __AVR_LIBC_MAJOR__ 1

Library major version number.

  #define __AVR_LIBC_MINOR__ 6

Library minor version number.

  #define __AVR_LIBC_REVISION__ 1

Library revision number.

  #define __AVR_LIBC_VERSION__ 10601UL

Numerical representation of the current library version.

In the numerical representation, the major number is multiplied by 10000, the minor number by 100, and all three parts are then added. It is intented to provide a monotonically increasing numerical value that can easily be used in numerical checks.

  #define __AVR_LIBC_VERSION_STRING__ '1.6.1'

String literal representation of the current library version.