libdvbv5: Ancillary functions and macros

libdvbv5 1.32.0 Library to work with Digital TV devices on Linux

Ancillary functions and macros

## Files
file | dvb-log.h
| Provides interfaces to handle libdvbv5 log messages.
file | crc32.h
| Provides ancillary code to calculate DVB crc32 checksum.
file | countries.h
| Provides ancillary code to convert ISO 3166-1 country codes.

## Macros
#define | ARRAY_SIZE(x)
| Calculates the number of elements of an array.

## Typedefs
typedef void(* | dvb_logfunc) (int level, const char *fmt,...)
| typedef used by dvb_fe_open2 for the log function

## Enumerations
enum | dvb_country_t { COUNTRY_UNKNOWN , AD , AE , AF , AG , AI , AL , AM , AO , AQ , AR , AS , AT , AU , AW , AX , AZ , BA , BB , BD , BE , BF , BG , BH , BI , BJ , BL , BM , BN , BO , BQ , BR , BS , BT , BV , BW , BY , BZ , CA , CC , CD , CF , CG , CH , CI , CK , CL , CM , CN , CO , CR , CU , CV , CW , CX , CY , CZ , DE , DJ , DK , DM , DO , DZ , EC , EE , EG , EH , ER , ES , ET , FI , FJ , FK , FM , FO , FR , GA , GB , GD , GE , GF , GG , GH , GI , GL , GM , GN , GP , GQ , GR , GS , GT , GU , GW , GY , HK , HM , HN , HR , HT , HU , ID , IE , IL , IM , IN , IO , IQ , IR , IS , IT , JE , JM , JO , JP , KE , KG , KH , KI , KM , KN , KP , KR , KW , KY , KZ , LA , LB , LC , LI , LK , LR , LS , LT , LU , LV , LY , MA , MC , MD , ME , MF , MG , MH , MK , ML , MM , MN , MO , MP , MQ , MR , MS , MT , MU , MV , MW , MX , MY , MZ , NA , NC , NE , NF , NG , NI , NL , NO , NP , NR , NU , NZ , OM , PA , PE , PF , PG , PH , PK , PL , PM , PN , PR , PS , PT , PW , PY , QA , RE , RO , RS , RU , RW , SA , SB , SC , SD , SE , SG , SH , SI , SJ , SK , SL , SM , SN , SO , SR , SS , ST , SV , SX , SY , SZ , TC , TD , TF , TG , TH , TJ , TK , TL , TM , TN , TO , TR , TT , TV , TW , TZ , UA , UG , UM , US , UY , UZ , VA , VC , VE , VG , VI , VN , VU , WF , WS , YE , YT , ZA , ZM , ZW }
| ISO-3166-1 alpha-2 country code. More...

## Functions
void | dvb_default_log (int level, const char *fmt,...)
| This is the prototype of the internal log function that it is used, if the library client doesn't desire to override with something else.
void | atsc_time (const uint32_t start_time, struct tm *tm)
| Converts an ATSC EIT formatted timestamp into struct tm.
uint32_t | dvb_crc32 (uint8_t *data, size_t datalen, uint32_t crc)
| Calculates the crc-32 as defined at the MPEG-TS specs.
enum dvb_country_t | dvb_country_a2_to_id (const char *name)
| Converts an Unix-like 2-letter Country code into enum dvb_country_t.
enum dvb_country_t | dvb_country_a3_to_id (const char *name)
| Converts a 3-letter Country code as used by MPEG-TS tables into enum dvb_country_t.
const char * | dvb_country_to_2letters (int id)
| Converts an enum dvb_country_t into Unix-like 2-letter Country code.
const char * | dvb_country_to_3letters (int id)
| Converts an enum dvb_country_t into a 3-letter Country code as used by MPEG-TS tables.
const char * | dvb_country_to_name (int id)
| Converts an enum dvb_country_t into a Country name as used by MPEG-TS tables.
enum dvb_country_t | dvb_guess_user_country (void)
| Guess the country code from the Unix environment variables.

## Detailed Description

## Macro Definition Documentation

## ◆ ARRAY_SIZE

#define ARRAY_SIZE | ( |  | x | ) |

Calculates the number of elements of an array.

Examples
  dvb-fe-tool.c.

Definition at line 64 of file dvb-fe.h.

## Typedef Documentation

## ◆ dvb_logfunc

typedef void(* dvb_logfunc) (int level, const char *fmt,...)

typedef used by dvb_fe_open2 for the log function

typedef used by dvb_fe_open2 for the log function with private context

Definition at line 44 of file dvb-log.h.

## Enumeration Type Documentation

## ◆ dvb_country_t

enum dvb_country_t

ISO-3166-1 alpha-2 country code.

Enumerator
COUNTRY_UNKNOWN | (Unknown Country)
AD | Andorra.
AE | United Arab Emirates.
AF | Afghanistan.
AG | Antigua and Barbuda.
AI | Anguilla.
AL | Albania.
AM | Armenia.
AO | Angola.
AQ | Antarctica.
AR | Argentina.
AS | American Samoa.
AT | Austria.
AU | Australia.
AW | Aruba.
AX | Aland Islands.
AZ | Azerbaijan.
BA | Bosnia and Herzegovina.
BB | Barbados.
BD | Bangladesh.
BE | Belgium.
BF | Burkina Faso.
BG | Bulgaria.
BH | Bahrain.
BI | Burundi.
BJ | Benin.
BL | Saint Barthelemy.
BM | Bermuda.
BN | Brunei Darussalam.
BO | Plurinational State of Bolivia.
BQ | Bonaire, Saint Eustatius and Saba.
BR | Brazil.
BS | Bahamas.
BT | Bhutan.
BV | Bouvet Island.
BW | Botswana.
BY | Belarus.
BZ | Belize.
CA | Canada.
CC | Cocos (Keeling) Islands.
CD | The Democratic Republic of the Congo.
CF | Central African Republic.
CG | Congo.
CH | Switzerland.
CI | Cote d'Ivoire.
CK | Cook Islands.
CL | Chile.
CM | Cameroon.
CN | China.
CO | Colombia.
CR | Costa Rica.
CU | Cuba.
CV | Cape Verde.
CW | Curacao.
CX | Christmas Island.
CY | Cyprus.
CZ | Czech Republic.
DE | Germany.
DJ | Djibouti.
DK | Denmark.
DM | Dominica.
DO | Dominican Republic.
DZ | Algeria.
EC | Ecuador.
EE | Estonia.
EG | Egypt.
EH | Western Sahara.
ER | Eritrea.
ES | Spain.
ET | Ethiopia.
FI | Finland.
FJ | Fiji.
FK | Falkland Islands (Malvinas).
FM | Federated States of Micronesia.
FO | Faroe Islands.
FR | France.
GA | Gabon.
GB | United Kingdom.
GD | Grenada.
GE | Georgia.
GF | French Guiana.
GG | Guernsey.
GH | Ghana.
GI | Gibraltar.
GL | Greenland.
GM | Gambia.
GN | Guinea.
GP | Guadeloupe.
GQ | Equatorial Guinea.
GR | Greece.
GS | South Georgia and the South Sandwich Islands.
GT | Guatemala.
GU | Guam.
GW | Guinea-Bissau.
GY | Guyana.
HK | Hong Kong.
HM | Heard Island and McDonald Islands.
HN | Honduras.
HR | Croatia.
HT | Haiti.
HU | Hungary.
ID | Indonesia.
IE | Ireland.
IL | Israel.
IM | Isle of Man.
IN | India.
IO | British Indian Ocean Territory.
IQ | Iraq.
IR | Islamic Republic of Iran.
IS | Iceland.
IT | Italy.
JE | Jersey.
JM | Jamaica.
JO | Jordan.
JP | Japan.
KE | Kenya.
KG | Kyrgyzstan.
KH | Cambodia.
KI | Kiribati.
KM | Comoros.
KN | Saint Kitts and Nevis.
KP | Democratic People's Republic of Korea.
KR | Republic of Korea.
KW | Kuwait.
KY | Cayman Islands.
KZ | Kazakhstan.
LA | Lao People's Democratic Republic.
LB | Lebanon.
LC | Saint Lucia.
LI | Liechtenstein.
LK | Sri Lanka.
LR | Liberia.
LS | Lesotho.
LT | Lithuania.
LU | Luxembourg.
LV | Latvia.
LY | Libyan Arab Jamahiriya.
MA | Morocco.
MC | Monaco.
MD | Republic of Moldova.
ME | Montenegro.
MF | Saint Martin (French part).
MG | Madagascar.
MH | Marshall Islands.
MK | The Former Yugoslav Republic of Macedonia.
ML | Mali.
MM | Myanmar.
MN | Mongolia.
MO | Macao.
MP | Northern Mariana Islands.
MQ | Martinique.
MR | Mauritania.
MS | Montserrat.
MT | Malta.
MU | Mauritius.
MV | Maldives.
MW | Malawi.
MX | Mexico.
MY | Malaysia.
MZ | Mozambique.
NA | Namibia.
NC | New Caledonia.
NE | Niger.
NF | Norfolk Island.
NG | Nigeria.
NI | Nicaragua.
NL | Netherlands.
NO | Norway.
NP | Nepal.
NR | Nauru.
NU | Niue.
NZ | New Zealand.
OM | Oman.
PA | Panama.
PE | Peru.
PF | French Polynesia.
PG | Papua New Guinea.
PH | Philippines.
PK | Pakistan.
PL | Poland.
PM | Saint Pierre and Miquelon.
PN | Pitcairn.
PR | Puerto Rico.
PS | Occupied Palestinian Territory.
PT | Portugal.
PW | Palau.
PY | Paraguay.
QA | Qatar.
RE | Reunion.
RO | Romania.
RS | Serbia.
RU | Russian Federation.
RW | Rwanda.
SA | Saudi Arabia.
SB | Solomon Islands.
SC | Seychelles.
SD | Sudan.
SE | Sweden.
SG | Singapore.
SH | Saint Helena, Ascension and Tristan da Cunha.
SI | Slovenia.
SJ | Svalbard and Jan Mayen.
SK | Slovakia.
SL | Sierra Leone.
SM | San Marino.
SN | Senegal.
SO | Somalia.
SR | Suriname.
SS | South Sudan.
ST | Sao Tome and Principe.
SV | El Salvador.
SX | Sint Maarten (Dutch part).
SY | Syrian Arab Republic.
SZ | Swaziland.
TC | Turks and Caicos Islands.
TD | Chad.
TF | French Southern Territories.
TG | Togo.
TH | Thailand.
TJ | Tajikistan.
TK | Tokelau.
TL | Timor-Leste.
TM | Turkmenistan.
TN | Tunisia.
TO | Tonga.
TR | Turkey.
TT | Trinidad and Tobago.
TV | Tuvalu.
TW | Taiwan, Province of China.
TZ | United Republic of Tanzania.
UA | Ukraine.
UG | Uganda.
UM | United States Minor Outlying Islands.
US | United States.
UY | Uruguay.
UZ | Uzbekistan.
VA | Holy See (Vatican City State).
VC | Saint Vincent and The Grenadines.
VE | Bolivarian Republic of Venezuela.
VG | British Virgin Islands.
VI | U.S. Virgin Islands
VN | Viet Nam.
VU | Vanuatu.
WF | Wallis and Futuna.
WS | Samoa.
YE | Yemen.
YT | Mayotte.
ZA | South Africa.
ZM | Zambia.
ZW | Zimbabwe.

Definition at line 544 of file countries.h.

## Function Documentation

## ◆ atsc_time()

void atsc_time | ( | const uint32_t | start_time,
|  | struct tm * | tm )

Converts an ATSC EIT formatted timestamp into struct tm.

Parameters

  start_time | event on ATSC EIT time format
  tm | pointer to struct tm where the converted timestamp will be stored.

## ◆ dvb_country_a2_to_id()

enum dvb_country_t dvb_country_a2_to_id | ( | const char * | name | ) |

Converts an Unix-like 2-letter Country code into enum dvb_country_t.

Parameters

  name | two-letter Country code.

Returns
  It returns the corresponding enum dvb_country_t ID. If not found, returns COUNTRY_UNKNOWN.

## ◆ dvb_country_a3_to_id()

enum dvb_country_t dvb_country_a3_to_id | ( | const char * | name | ) |

Converts a 3-letter Country code as used by MPEG-TS tables into enum dvb_country_t.

Parameters

  name | three-letter Country code.

Returns
  It returns the corresponding enum dvb_country_t ID. If not found, returns COUNTRY_UNKNOWN.

## ◆ dvb_country_to_2letters()

const char * dvb_country_to_2letters | ( | int | id | ) |

Converts an enum dvb_country_t into Unix-like 2-letter Country code.

Parameters

  id | enum dvb_country_t ID.

Returns
  It returns the 2-letter country code string that corresponts to the Country. If not found, returns NULL.

## ◆ dvb_country_to_3letters()

const char * dvb_country_to_3letters | ( | int | id | ) |

Converts an enum dvb_country_t into a 3-letter Country code as used by MPEG-TS tables.

Parameters

  id | enum dvb_country_t ID.

Returns
  It returns the 3-letter country code string that corresponts to the Country. If not found, returns NULL.

## ◆ dvb_country_to_name()

const char * dvb_country_to_name | ( | int | id | ) |

Converts an enum dvb_country_t into a Country name as used by MPEG-TS tables.

Parameters

  id | enum dvb_country_t ID.

Returns
  It returns a string with the Country name that corresponts to the country. If not found, returns NULL.

## ◆ dvb_crc32()

uint32_t dvb_crc32 | ( | uint8_t * | data,
|  | size_t | datalen,
|  | uint32_t | crc )

Calculates the crc-32 as defined at the MPEG-TS specs.

Parameters

  data | Pointer to the buffer to be checked
  datalen | Length of the buffer
  crc | Initial value for the crc checksum. To calculate the checksum of the entire packet at once, use 0xFFFFFFFF

## ◆ dvb_default_log()

void dvb_default_log | ( | int | level,
|  | const char * | fmt,
|  |  | ... )

This is the prototype of the internal log function that it is used, if the library client doesn't desire to override with something else.

Parameters

  level | level of the message, as defined at syslog.h
  fmt | format string (same as format string on sprintf)

## ◆ dvb_guess_user_country()

enum dvb_country_t dvb_guess_user_country | ( | void |  | ) |

Guess the country code from the Unix environment variables.

Returns
  It returns the corresponding enum dvb_country_t ID. If not found, returns COUNTRY_UNKNOWN.