# yaml_token_s Struct Reference
[Tokens]

The token structure. More...

`#include <yaml.h>`

## Data Fields

yaml_token_type_t | type
| The token type.
union {
struct {
yaml_encoding_t encoding
| The stream encoding.
} stream_start
| The stream start (for `YAML_STREAM_START_TOKEN`).
struct {
yaml_char_t * value
| The alias value.
} alias
| The alias (for `YAML_ALIAS_TOKEN`).
struct {
yaml_char_t * value
| The anchor value.
} anchor
| The anchor (for `YAML_ANCHOR_TOKEN`).
struct {
yaml_char_t * handle
| The tag handle.
yaml_char_t * suffix
| The tag suffix.
} tag
| The tag (for `YAML_TAG_TOKEN`).
struct {
yaml_char_t * value
| The scalar value.
size_t length
| The length of the scalar value.
yaml_scalar_style_t style
| The scalar style.
} scalar
| The scalar value (for `YAML_SCALAR_TOKEN`).
struct {
int major
| The major version number.
int minor
| The minor version number.
} version_directive
| The version directive (for `YAML_VERSION_DIRECTIVE_TOKEN`).
struct {
yaml_char_t * handle
| The tag handle.
yaml_char_t * prefix
| The tag prefix.
} tag_directive
| The tag directive (for `YAML_TAG_DIRECTIVE_TOKEN`).
} | data
| The token data.
yaml_mark_t | start_mark
| The beginning of the token.
yaml_mark_t | end_mark
| The end of the token.

## Detailed Description

The token structure.

## Field Documentation

yaml_token_type_t yaml_token_s::type

The token type.

yaml_encoding_t yaml_token_s::encoding

The stream encoding.

struct { ... } yaml_token_s::stream_start

The stream start (for `YAML_STREAM_START_TOKEN`).

yaml_char_t* yaml_token_s::value

The alias value.

The scalar value.

The anchor value.

struct { ... } yaml_token_s::alias

The alias (for `YAML_ALIAS_TOKEN`).

struct { ... } yaml_token_s::anchor

The anchor (for `YAML_ANCHOR_TOKEN`).

yaml_char_t* yaml_token_s::handle

The tag handle.

yaml_char_t* yaml_token_s::suffix

The tag suffix.

struct { ... } yaml_token_s::tag

The tag (for `YAML_TAG_TOKEN`).

size_t yaml_token_s::length

The length of the scalar value.

yaml_scalar_style_t yaml_token_s::style

The scalar style.

struct { ... } yaml_token_s::scalar

The scalar value (for `YAML_SCALAR_TOKEN`).

int yaml_token_s::major

The major version number.

int yaml_token_s::minor

The minor version number.

struct { ... } yaml_token_s::version_directive

The version directive (for `YAML_VERSION_DIRECTIVE_TOKEN`).

yaml_char_t* yaml_token_s::prefix

The tag prefix.

struct { ... } yaml_token_s::tag_directive

The tag directive (for `YAML_TAG_DIRECTIVE_TOKEN`).

union { ... } yaml_token_s::data

The token data.

yaml_mark_t yaml_token_s::start_mark

The beginning of the token.

yaml_mark_t yaml_token_s::end_mark

The end of the token.

The documentation for this struct was generated from the following file:

- yaml.h