sdk-world v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Loading...
Searching...
No Matches
id3tag.h File Reference

Go to the source code of this file.

Classes

struct  id3_tag
struct  id3_frame
union  id3_field

Macros

#define ID3_TAG_VERSION   0x0400
#define ID3_TAG_VERSION_MAJOR(x)
#define ID3_TAG_VERSION_MINOR(x)
#define ID3_TAG_QUERYSIZE   10
#define ID3_FRAME_TITLE   "TIT2"
#define ID3_FRAME_ARTIST   "TPE1"
#define ID3_FRAME_ALBUM   "TALB"
#define ID3_FRAME_TRACK   "TRCK"
#define ID3_FRAME_YEAR   "TDRC"
#define ID3_FRAME_GENRE   "TCON"
#define ID3_FRAME_COMMENT   "COMM"
#define ID3_FRAME_OBSOLETE   "ZOBS"
#define ID3_VERSION_MAJOR   0
#define ID3_VERSION_MINOR   15
#define ID3_VERSION_PATCH   1
#define ID3_VERSION_EXTRA   " (beta)"
#define ID3_VERSION_STRINGIZE(str)
#define ID3_VERSION_STRING(num)
#define ID3_VERSION
#define ID3_PUBLISHYEAR   "2000-2004"
#define ID3_AUTHOR   "Underbit Technologies, Inc."
#define ID3_EMAIL   "info@underbit.com"

Typedefs

typedef unsigned char id3_byte_t
typedef unsigned long id3_length_t
typedef unsigned long id3_ucs4_t
typedef unsigned char id3_latin1_t
typedef unsigned short id3_utf16_t
typedef signed char id3_utf8_t

Enumerations

enum  {
  ID3_TAG_FLAG_UNSYNCHRONISATION = 0x80 , ID3_TAG_FLAG_EXTENDEDHEADER = 0x40 , ID3_TAG_FLAG_EXPERIMENTALINDICATOR = 0x20 , ID3_TAG_FLAG_FOOTERPRESENT = 0x10 ,
  ID3_TAG_FLAG_KNOWNFLAGS = 0xf0
}
enum  { ID3_TAG_EXTENDEDFLAG_TAGISANUPDATE = 0x40 , ID3_TAG_EXTENDEDFLAG_CRCDATAPRESENT = 0x20 , ID3_TAG_EXTENDEDFLAG_TAGRESTRICTIONS = 0x10 , ID3_TAG_EXTENDEDFLAG_KNOWNFLAGS = 0x70 }
enum  {
  ID3_TAG_RESTRICTION_TAGSIZE_MASK = 0xc0 , ID3_TAG_RESTRICTION_TAGSIZE_128_FRAMES_1_MB = 0x00 , ID3_TAG_RESTRICTION_TAGSIZE_64_FRAMES_128_KB = 0x40 , ID3_TAG_RESTRICTION_TAGSIZE_32_FRAMES_40_KB = 0x80 ,
  ID3_TAG_RESTRICTION_TAGSIZE_32_FRAMES_4_KB = 0xc0
}
enum  { ID3_TAG_RESTRICTION_TEXTENCODING_MASK = 0x20 , ID3_TAG_RESTRICTION_TEXTENCODING_NONE = 0x00 , ID3_TAG_RESTRICTION_TEXTENCODING_LATIN1_UTF8 = 0x20 }
enum  {
  ID3_TAG_RESTRICTION_TEXTSIZE_MASK = 0x18 , ID3_TAG_RESTRICTION_TEXTSIZE_NONE = 0x00 , ID3_TAG_RESTRICTION_TEXTSIZE_1024_CHARS = 0x08 , ID3_TAG_RESTRICTION_TEXTSIZE_128_CHARS = 0x10 ,
  ID3_TAG_RESTRICTION_TEXTSIZE_30_CHARS = 0x18
}
enum  { ID3_TAG_RESTRICTION_IMAGEENCODING_MASK = 0x04 , ID3_TAG_RESTRICTION_IMAGEENCODING_NONE = 0x00 , ID3_TAG_RESTRICTION_IMAGEENCODING_PNG_JPEG = 0x04 }
enum  {
  ID3_TAG_RESTRICTION_IMAGESIZE_MASK = 0x03 , ID3_TAG_RESTRICTION_IMAGESIZE_NONE = 0x00 , ID3_TAG_RESTRICTION_IMAGESIZE_256_256 = 0x01 , ID3_TAG_RESTRICTION_IMAGESIZE_64_64 = 0x02 ,
  ID3_TAG_RESTRICTION_IMAGESIZE_64_64_EXACT = 0x03
}
enum  {
  ID3_TAG_OPTION_UNSYNCHRONISATION = 0x0001 , ID3_TAG_OPTION_COMPRESSION = 0x0002 , ID3_TAG_OPTION_CRC = 0x0004 , ID3_TAG_OPTION_APPENDEDTAG = 0x0010 ,
  ID3_TAG_OPTION_FILEALTERED = 0x0020 , ID3_TAG_OPTION_ID3V1 = 0x0100
}
enum  {
  ID3_FRAME_FLAG_TAGALTERPRESERVATION = 0x4000 , ID3_FRAME_FLAG_FILEALTERPRESERVATION = 0x2000 , ID3_FRAME_FLAG_READONLY = 0x1000 , ID3_FRAME_FLAG_STATUSFLAGS = 0xff00 ,
  ID3_FRAME_FLAG_GROUPINGIDENTITY = 0x0040 , ID3_FRAME_FLAG_COMPRESSION = 0x0008 , ID3_FRAME_FLAG_ENCRYPTION = 0x0004 , ID3_FRAME_FLAG_UNSYNCHRONISATION = 0x0002 ,
  ID3_FRAME_FLAG_DATALENGTHINDICATOR = 0x0001 , ID3_FRAME_FLAG_FORMATFLAGS = 0x00ff , ID3_FRAME_FLAG_KNOWNFLAGS = 0x704f
}
enum  id3_field_type {
  ID3_FIELD_TYPE_TEXTENCODING , ID3_FIELD_TYPE_LATIN1 , ID3_FIELD_TYPE_LATIN1FULL , ID3_FIELD_TYPE_LATIN1LIST ,
  ID3_FIELD_TYPE_STRING , ID3_FIELD_TYPE_STRINGFULL , ID3_FIELD_TYPE_STRINGLIST , ID3_FIELD_TYPE_LANGUAGE ,
  ID3_FIELD_TYPE_FRAMEID , ID3_FIELD_TYPE_DATE , ID3_FIELD_TYPE_INT8 , ID3_FIELD_TYPE_INT16 ,
  ID3_FIELD_TYPE_INT24 , ID3_FIELD_TYPE_INT32 , ID3_FIELD_TYPE_INT32PLUS , ID3_FIELD_TYPE_BINARYDATA
}
enum  id3_field_textencoding { ID3_FIELD_TEXTENCODING_ISO_8859_1 = 0x00 , ID3_FIELD_TEXTENCODING_UTF_16 = 0x01 , ID3_FIELD_TEXTENCODING_UTF_16BE = 0x02 , ID3_FIELD_TEXTENCODING_UTF_8 = 0x03 }
enum  id3_file_mode { ID3_FILE_MODE_READONLY = 0 , ID3_FILE_MODE_READWRITE }

Functions

struct id3_file * id3_file_open (char const *, enum id3_file_mode)
struct id3_file * id3_file_fdopen (int, enum id3_file_mode)
int id3_file_close (struct id3_file *)
struct id3_tag * id3_file_tag (struct id3_file const *)
int id3_file_update (struct id3_file *)
struct id3_tag * id3_tag_new (void)
void id3_tag_delete (struct id3_tag *)
unsigned int id3_tag_version (struct id3_tag const *)
int id3_tag_options (struct id3_tag *, int, int)
void id3_tag_setlength (struct id3_tag *, id3_length_t)
void id3_tag_clearframes (struct id3_tag *)
int id3_tag_attachframe (struct id3_tag *, struct id3_frame *)
int id3_tag_detachframe (struct id3_tag *, struct id3_frame *)
struct id3_frame * id3_tag_findframe (struct id3_tag const *, char const *, unsigned int)
signed long id3_tag_query (id3_byte_t const *, id3_length_t)
struct id3_tag * id3_tag_parse (id3_byte_t const *, id3_length_t)
id3_length_t id3_tag_render (struct id3_tag const *, id3_byte_t *)
struct id3_frame * id3_frame_new (char const *)
void id3_frame_delete (struct id3_frame *)
union id3_field * id3_frame_field (struct id3_frame const *, unsigned int)
enum id3_field_type id3_field_type (union id3_field const *)
int id3_field_setint (union id3_field *, signed long)
int id3_field_settextencoding (union id3_field *, enum id3_field_textencoding)
int id3_field_setstrings (union id3_field *, unsigned int, id3_ucs4_t **)
int id3_field_addstring (union id3_field *, id3_ucs4_t const *)
int id3_field_setlanguage (union id3_field *, char const *)
int id3_field_setlatin1 (union id3_field *, id3_latin1_t const *)
int id3_field_setfulllatin1 (union id3_field *, id3_latin1_t const *)
int id3_field_setstring (union id3_field *, id3_ucs4_t const *)
int id3_field_setfullstring (union id3_field *, id3_ucs4_t const *)
int id3_field_setframeid (union id3_field *, char const *)
int id3_field_setbinarydata (union id3_field *, id3_byte_t const *, id3_length_t)
signed long id3_field_getint (union id3_field const *)
enum id3_field_textencoding id3_field_gettextencoding (union id3_field const *)
id3_latin1_t const * id3_field_getlatin1 (union id3_field const *)
id3_latin1_t const * id3_field_getfulllatin1 (union id3_field const *)
id3_ucs4_t const * id3_field_getstring (union id3_field const *)
id3_ucs4_t const * id3_field_getfullstring (union id3_field const *)
unsigned int id3_field_getnstrings (union id3_field const *)
id3_ucs4_t const * id3_field_getstrings (union id3_field const *, unsigned int)
char const * id3_field_getframeid (union id3_field const *)
id3_byte_t const * id3_field_getbinarydata (union id3_field const *, id3_length_t *)
id3_ucs4_t const * id3_genre_index (unsigned int)
id3_ucs4_t const * id3_genre_name (id3_ucs4_t const *)
int id3_genre_number (id3_ucs4_t const *)
id3_latin1_t * id3_ucs4_latin1duplicate (id3_ucs4_t const *)
id3_utf16_t * id3_ucs4_utf16duplicate (id3_ucs4_t const *)
id3_utf8_t * id3_ucs4_utf8duplicate (id3_ucs4_t const *)
void id3_ucs4_putnumber (id3_ucs4_t *, unsigned long)
unsigned long id3_ucs4_getnumber (id3_ucs4_t const *)
id3_ucs4_t * id3_latin1_ucs4duplicate (id3_latin1_t const *)
id3_ucs4_t * id3_utf16_ucs4duplicate (id3_utf16_t const *)
id3_ucs4_t * id3_utf8_ucs4duplicate (id3_utf8_t const *)

Variables

char const id3_version []
char const id3_copyright []
char const id3_author []
char const id3_build []

Macro Definition Documentation

◆ ID3_AUTHOR

#define ID3_AUTHOR   "Underbit Technologies, Inc."

Definition at line 356 of file id3tag.h.

◆ ID3_EMAIL

#define ID3_EMAIL   "info@underbit.com"

Definition at line 357 of file id3tag.h.

◆ ID3_FRAME_ALBUM

#define ID3_FRAME_ALBUM   "TALB"

Definition at line 67 of file id3tag.h.

◆ ID3_FRAME_ARTIST

#define ID3_FRAME_ARTIST   "TPE1"

Definition at line 66 of file id3tag.h.

◆ ID3_FRAME_COMMENT

#define ID3_FRAME_COMMENT   "COMM"

Definition at line 71 of file id3tag.h.

◆ ID3_FRAME_GENRE

#define ID3_FRAME_GENRE   "TCON"

Definition at line 70 of file id3tag.h.

◆ ID3_FRAME_OBSOLETE

#define ID3_FRAME_OBSOLETE   "ZOBS"

Definition at line 75 of file id3tag.h.

◆ ID3_FRAME_TITLE

#define ID3_FRAME_TITLE   "TIT2"

Definition at line 65 of file id3tag.h.

◆ ID3_FRAME_TRACK

#define ID3_FRAME_TRACK   "TRCK"

Definition at line 68 of file id3tag.h.

◆ ID3_FRAME_YEAR

#define ID3_FRAME_YEAR   "TDRC"

Definition at line 69 of file id3tag.h.

◆ ID3_PUBLISHYEAR

#define ID3_PUBLISHYEAR   "2000-2004"

Definition at line 355 of file id3tag.h.

◆ ID3_TAG_QUERYSIZE

#define ID3_TAG_QUERYSIZE   10

Definition at line 61 of file id3tag.h.

◆ ID3_TAG_VERSION

#define ID3_TAG_VERSION   0x0400

Definition at line 36 of file id3tag.h.

◆ ID3_TAG_VERSION_MAJOR

#define ID3_TAG_VERSION_MAJOR ( x)
Value:
(((x) >> 8) & 0xff)

Definition at line 37 of file id3tag.h.

◆ ID3_TAG_VERSION_MINOR

#define ID3_TAG_VERSION_MINOR ( x)
Value:
(((x) >> 0) & 0xff)

Definition at line 38 of file id3tag.h.

◆ ID3_VERSION

#define ID3_VERSION
Value:
ID3_VERSION_STRING(ID3_VERSION_MAJOR) "." \
ID3_VERSION_STRING(ID3_VERSION_MINOR) "." \
ID3_VERSION_STRING(ID3_VERSION_PATCH) \
ID3_VERSION_EXTRA

Definition at line 350 of file id3tag.h.

◆ ID3_VERSION_EXTRA

#define ID3_VERSION_EXTRA   " (beta)"

Definition at line 345 of file id3tag.h.

◆ ID3_VERSION_MAJOR

#define ID3_VERSION_MAJOR   0

Definition at line 342 of file id3tag.h.

◆ ID3_VERSION_MINOR

#define ID3_VERSION_MINOR   15

Definition at line 343 of file id3tag.h.

◆ ID3_VERSION_PATCH

#define ID3_VERSION_PATCH   1

Definition at line 344 of file id3tag.h.

◆ ID3_VERSION_STRING

#define ID3_VERSION_STRING ( num)
Value:
ID3_VERSION_STRINGIZE(num)

Definition at line 348 of file id3tag.h.

◆ ID3_VERSION_STRINGIZE

#define ID3_VERSION_STRINGIZE ( str)
Value:
#str

Definition at line 347 of file id3tag.h.

Typedef Documentation

◆ id3_byte_t

typedef unsigned char id3_byte_t

Definition at line 40 of file id3tag.h.

◆ id3_latin1_t

typedef unsigned char id3_latin1_t

Definition at line 45 of file id3tag.h.

◆ id3_length_t

typedef unsigned long id3_length_t

Definition at line 41 of file id3tag.h.

◆ id3_ucs4_t

typedef unsigned long id3_ucs4_t

Definition at line 43 of file id3tag.h.

◆ id3_utf16_t

typedef unsigned short id3_utf16_t

Definition at line 46 of file id3tag.h.

◆ id3_utf8_t

typedef signed char id3_utf8_t

Definition at line 47 of file id3tag.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 108 of file id3tag.h.

◆ anonymous enum

anonymous enum

Definition at line 122 of file id3tag.h.

◆ anonymous enum

anonymous enum

Definition at line 100 of file id3tag.h.

◆ anonymous enum

anonymous enum

Definition at line 163 of file id3tag.h.

◆ anonymous enum

anonymous enum

Definition at line 114 of file id3tag.h.

◆ anonymous enum

anonymous enum

Definition at line 90 of file id3tag.h.

◆ anonymous enum

anonymous enum

Definition at line 79 of file id3tag.h.

◆ anonymous enum

anonymous enum

Definition at line 128 of file id3tag.h.

◆ anonymous enum

anonymous enum

Definition at line 138 of file id3tag.h.

◆ id3_field_textencoding

enum id3_field_textencoding

Definition at line 202 of file id3tag.h.

◆ id3_field_type

enum id3_field_type

Definition at line 183 of file id3tag.h.

◆ id3_file_mode

enum id3_file_mode

Definition at line 246 of file id3tag.h.

Function Documentation

◆ id3_field_addstring()

int id3_field_addstring ( union id3_field * field,
id3_ucs4_t const * string )

Definition at line 626 of file field.c.

◆ id3_field_getbinarydata()

id3_byte_t const * id3_field_getbinarydata ( union id3_field const * field,
id3_length_t * length )

Definition at line 875 of file field.c.

◆ id3_field_getframeid()

char const * id3_field_getframeid ( union id3_field const * field)

Definition at line 861 of file field.c.

◆ id3_field_getfulllatin1()

id3_latin1_t const * id3_field_getfulllatin1 ( union id3_field const * field)

Definition at line 785 of file field.c.

◆ id3_field_getfullstring()

id3_ucs4_t const * id3_field_getfullstring ( union id3_field const * field)

Definition at line 813 of file field.c.

◆ id3_field_getint()

signed long id3_field_getint ( union id3_field const * field)

Definition at line 739 of file field.c.

◆ id3_field_getlatin1()

id3_latin1_t const * id3_field_getlatin1 ( union id3_field const * field)

Definition at line 771 of file field.c.

◆ id3_field_getnstrings()

unsigned int id3_field_getnstrings ( union id3_field const * field)

Definition at line 827 of file field.c.

◆ id3_field_getstring()

id3_ucs4_t const * id3_field_getstring ( union id3_field const * field)

Definition at line 799 of file field.c.

◆ id3_field_getstrings()

id3_ucs4_t const * id3_field_getstrings ( union id3_field const * field,
unsigned int index )

Definition at line 841 of file field.c.

◆ id3_field_gettextencoding()

enum id3_field_textencoding id3_field_gettextencoding ( union id3_field const * field)

Definition at line 757 of file field.c.

◆ id3_field_setbinarydata()

int id3_field_setbinarydata ( union id3_field * field,
id3_byte_t const * data,
id3_length_t length )

Definition at line 705 of file field.c.

◆ id3_field_setframeid()

int id3_field_setframeid ( union id3_field * field,
char const * id )

Definition at line 682 of file field.c.

◆ id3_field_setfulllatin1()

int id3_field_setfulllatin1 ( union id3_field * field,
id3_latin1_t const * latin1 )

Definition at line 510 of file field.c.

◆ id3_field_setfullstring()

int id3_field_setfullstring ( union id3_field * field,
id3_ucs4_t const * string )

Definition at line 569 of file field.c.

◆ id3_field_setint()

int id3_field_setint ( union id3_field * field,
signed long number )

Definition at line 408 of file field.c.

◆ id3_field_setlanguage()

int id3_field_setlanguage ( union id3_field * field,
char const * language )

Definition at line 659 of file field.c.

◆ id3_field_setlatin1()

int id3_field_setlatin1 ( union id3_field * field,
id3_latin1_t const * latin1 )

Definition at line 485 of file field.c.

◆ id3_field_setstring()

int id3_field_setstring ( union id3_field * field,
id3_ucs4_t const * string )

Definition at line 544 of file field.c.

◆ id3_field_setstrings()

int id3_field_setstrings ( union id3_field * field,
unsigned int length,
id3_ucs4_t ** ptrs )

Definition at line 585 of file field.c.

◆ id3_field_settextencoding()

int id3_field_settextencoding ( union id3_field * field,
enum id3_field_textencoding )

Definition at line 448 of file field.c.

◆ id3_field_type()

enum id3_field_type id3_field_type ( union id3_field const * field)

Definition at line 162 of file field.c.

◆ id3_file_close()

int id3_file_close ( struct id3_file * file)

Definition at line 487 of file file.c.

◆ id3_file_fdopen()

struct id3_file * id3_file_fdopen ( int fd,
enum id3_file_mode )

Definition at line 450 of file file.c.

◆ id3_file_open()

struct id3_file * id3_file_open ( char const * path,
enum id3_file_mode )

Definition at line 428 of file file.c.

◆ id3_file_tag()

struct id3_tag * id3_file_tag ( struct id3_file const * file)

Definition at line 505 of file file.c.

◆ id3_file_update()

int id3_file_update ( struct id3_file * file)

Definition at line 609 of file file.c.

◆ id3_frame_delete()

void id3_frame_delete ( struct id3_frame * frame)

Definition at line 127 of file frame.c.

◆ id3_frame_field()

union id3_field * id3_frame_field ( struct id3_frame const * frame,
unsigned int index )

Definition at line 170 of file frame.c.

◆ id3_frame_new()

struct id3_frame * id3_frame_new ( char const * id)

Definition at line 67 of file frame.c.

◆ id3_genre_index()

id3_ucs4_t const * id3_genre_index ( unsigned int index)

Definition at line 40 of file genre.c.

◆ id3_genre_name()

id3_ucs4_t const * id3_genre_name ( id3_ucs4_t const * string)

Definition at line 49 of file genre.c.

◆ id3_genre_number()

int id3_genre_number ( id3_ucs4_t const * string)

Definition at line 122 of file genre.c.

◆ id3_latin1_ucs4duplicate()

id3_ucs4_t * id3_latin1_ucs4duplicate ( id3_latin1_t const * latin1)

Definition at line 86 of file latin1.c.

◆ id3_tag_attachframe()

int id3_tag_attachframe ( struct id3_tag * tag,
struct id3_frame * frame )

Definition at line 171 of file tag.c.

◆ id3_tag_clearframes()

void id3_tag_clearframes ( struct id3_tag * tag)

Definition at line 153 of file tag.c.

◆ id3_tag_delete()

void id3_tag_delete ( struct id3_tag * tag)

Definition at line 77 of file tag.c.

◆ id3_tag_detachframe()

int id3_tag_detachframe ( struct id3_tag * tag,
struct id3_frame * frame )

Definition at line 193 of file tag.c.

◆ id3_tag_findframe()

struct id3_frame * id3_tag_findframe ( struct id3_tag const * tag,
char const * id,
unsigned int index )

Definition at line 220 of file tag.c.

◆ id3_tag_new()

struct id3_tag * id3_tag_new ( void )

Definition at line 52 of file tag.c.

◆ id3_tag_options()

int id3_tag_options ( struct id3_tag * tag,
int mask,
int values )

Definition at line 128 of file tag.c.

◆ id3_tag_parse()

struct id3_tag * id3_tag_parse ( id3_byte_t const * data,
id3_length_t length )

Definition at line 633 of file tag.c.

◆ id3_tag_query()

signed long id3_tag_query ( id3_byte_t const * data,
id3_length_t length )

Definition at line 289 of file tag.c.

◆ id3_tag_render()

id3_length_t id3_tag_render ( struct id3_tag const * tag,
id3_byte_t * buffer )

Definition at line 768 of file tag.c.

◆ id3_tag_setlength()

void id3_tag_setlength ( struct id3_tag * tag,
id3_length_t length )

Definition at line 142 of file tag.c.

◆ id3_tag_version()

unsigned int id3_tag_version ( struct id3_tag const * tag)

Definition at line 117 of file tag.c.

◆ id3_ucs4_getnumber()

unsigned long id3_ucs4_getnumber ( id3_ucs4_t const * ucs4)

Definition at line 216 of file ucs4.c.

◆ id3_ucs4_latin1duplicate()

id3_latin1_t * id3_ucs4_latin1duplicate ( id3_ucs4_t const * ucs4)

Definition at line 124 of file ucs4.c.

◆ id3_ucs4_putnumber()

void id3_ucs4_putnumber ( id3_ucs4_t * ucs4,
unsigned long number )

Definition at line 194 of file ucs4.c.

◆ id3_ucs4_utf16duplicate()

id3_utf16_t * id3_ucs4_utf16duplicate ( id3_ucs4_t const * ucs4)

Definition at line 139 of file ucs4.c.

◆ id3_ucs4_utf8duplicate()

id3_utf8_t * id3_ucs4_utf8duplicate ( id3_ucs4_t const * ucs4)

Definition at line 154 of file ucs4.c.

◆ id3_utf16_ucs4duplicate()

id3_ucs4_t * id3_utf16_ucs4duplicate ( id3_utf16_t const * utf16)

Definition at line 75 of file utf16.c.

◆ id3_utf8_ucs4duplicate()

id3_ucs4_t * id3_utf8_ucs4duplicate ( id3_utf8_t const * utf8)

Definition at line 119 of file utf8.c.

Variable Documentation

◆ id3_author

char const id3_author[]
extern

Definition at line 33 of file version.c.

◆ id3_build

char const id3_build[]
extern

Definition at line 35 of file version.c.

◆ id3_copyright

char const id3_copyright[]
extern

Definition at line 32 of file version.c.

◆ id3_version

char const id3_version[]
extern

Definition at line 31 of file version.c.