| Wireshark 4.7.0 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
Functions
strtoi.h File Reference
`#include <stdbool.h>`
`#include <inttypes.h>`
`#include "ws_symbol_export.h"`

Go to the source code of this file.

## Functions
WS_DLL_PUBLIC bool | ws_strtoi64 (const char *str, const char **endptr, int64_t *cint)
WS_DLL_PUBLIC bool | ws_strtoi32 (const char *str, const char **endptr, int32_t *cint)
| Convert a string to an integer of specified size.
WS_DLL_PUBLIC bool | ws_strtoi16 (const char *str, const char **endptr, int16_t *cint)
| Convert a string to a 16-bit integer.
WS_DLL_PUBLIC bool | ws_strtoi8 (const char *str, const char **endptr, int8_t *cint)
| Convert a string to an 8-bit integer.
WS_DLL_PUBLIC bool | ws_strtoi (const char *str, const char **endptr, int *cint)
| Convert a string to an integer.
WS_DLL_PUBLIC bool | ws_strtou64 (const char *str, const char **endptr, uint64_t *cint)
| Convert a decimal string to a 64-bit unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_strtou32 (const char *str, const char **endptr, uint32_t *cint)
| Convert a decimal string to a 32-bit unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_strtou16 (const char *str, const char **endptr, uint16_t *cint)
| Convert a decimal string to an unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_strtou8 (const char *str, const char **endptr, uint8_t *cint)
| Convert a decimal string to an unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_strtou (const char *str, const char **endptr, unsigned *cint)
| Convert a decimal string to an unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_hexstrtou64 (const char *str, const char **endptr, uint64_t *cint)
| Convert a hexdecimal string to an unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_hexstrtou32 (const char *str, const char **endptr, uint32_t *cint)
WS_DLL_PUBLIC bool | ws_hexstrtou16 (const char *str, const char **endptr, uint16_t *cint)
| Convert a hexadecimal string to an 16-bit unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_hexstrtou8 (const char *str, const char **endptr, uint8_t *cint)
| Convert a hexadecimal string in the specified base to an 8-bit unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_hexstrtou (const char *str, const char **endptr, unsigned *cint)
| Convert a hexadecimal string to an unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_basestrtou64 (const char *str, const char **endptr, uint64_t *cint, int base)
| Convert a string in the specified base to a 64-bit unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_basestrtou32 (const char *str, const char **endptr, uint32_t *cint, int base)
| Convert a string in the specified base to a 32-bit unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_basestrtou16 (const char *str, const char **endptr, uint16_t *cint, int base)
| Convert a string in the specified base to a 16-bit unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_basestrtou8 (const char *str, const char **endptr, uint8_t *cint, int base)
| Convert a string in the specified base to an 8-bit unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_basestrtou (const char *str, const char **endptr, unsigned *cint, int base)
| Convert a string in the specified base to an unsigned int, with error checks.
WS_DLL_PUBLIC bool | ws_basebuftou64 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint64_t *cint, int base)
WS_DLL_PUBLIC bool | ws_buftou64 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint64_t *cint)
WS_DLL_PUBLIC bool | ws_hexbuftou64 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint64_t *cint)
WS_DLL_PUBLIC bool | ws_basebuftou32 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint32_t *cint, int base)
WS_DLL_PUBLIC bool | ws_buftou32 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint32_t *cint)
WS_DLL_PUBLIC bool | ws_hexbuftou32 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint32_t *cint)
WS_DLL_PUBLIC bool | ws_basebuftou16 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint16_t *cint, int base)
WS_DLL_PUBLIC bool | ws_buftou16 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint16_t *cint)
WS_DLL_PUBLIC bool | ws_hexbuftou16 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint16_t *cint)
WS_DLL_PUBLIC bool | ws_basebuftou8 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint8_t *cint, int base)
WS_DLL_PUBLIC bool | ws_buftou8 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint8_t *cint)
WS_DLL_PUBLIC bool | ws_hexbuftou8 (const uint8_t *buf, size_t len, const uint8_t **endptr, uint8_t *cint)

## Detailed Description

Utilities to convert strings to integers

Copyright 2016, Dario Lombardo

Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs

SPDX-License-Identifier: GPL-2.0-or-later

## Function Documentation

## ◆ ws_basestrtou()

WS_DLL_PUBLIC bool ws_basestrtou | ( | const char * | str,
|  | const char ** | endptr,
|  | unsigned * | cint,
|  | int | base
| ) |  |

Convert a string in the specified base to an unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer that will store a pointer to the first invalid character in str, allowing a number to be parsed even if there is trailing whitespace. If NULL, then the string is assumed to contain only valid characters (or it will error out).
  cint | The converted integer
  base | The base for the integer; 0 means "if it begins with 0x, it's hex, otherwise if it begins with 0, it's octal, otherwise it's decimal".

Returns
  true if the conversion succeeds, false otherwise. On error, errno is set to EINVAL for unrecognized input and ERANGE if the resulting number does not fit in the type.

## ◆ ws_basestrtou16()

WS_DLL_PUBLIC bool ws_basestrtou16 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint16_t * | cint,
|  | int | base
| ) |  |

Convert a string in the specified base to a 16-bit unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer that will store a pointer to the first invalid character in str, allowing a number to be parsed even if there is trailing whitespace. If NULL, then the string is assumed to contain only valid characters (or it will error out).
  cint | The converted integer
  base | The base for the integer; 0 means "if it begins with 0x, it's hex, otherwise if it begins with 0, it's octal, otherwise it's decimal".

Returns
  true if the conversion succeeds, false otherwise. On error, errno is set to EINVAL for unrecognized input and ERANGE if the resulting number does not fit in the type.

## ◆ ws_basestrtou32()

WS_DLL_PUBLIC bool ws_basestrtou32 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint32_t * | cint,
|  | int | base
| ) |  |

Convert a string in the specified base to a 32-bit unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer that will store a pointer to the first invalid character in str, allowing a number to be parsed even if there is trailing whitespace. If NULL, then the string is assumed to contain only valid characters (or it will error out).
  cint | The converted integer
  base | The base for the integer; 0 means "if it begins with 0x, it's hex, otherwise if it begins with 0, it's octal, otherwise it's decimal".

Returns
  true if the conversion succeeds, false otherwise. On error, errno is set to EINVAL for unrecognized input and ERANGE if the resulting number does not fit in the type.

## ◆ ws_basestrtou64()

WS_DLL_PUBLIC bool ws_basestrtou64 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint64_t * | cint,
|  | int | base
| ) |  |

Convert a string in the specified base to a 64-bit unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer that will store a pointer to the first invalid character in str, allowing a number to be parsed even if there is trailing whitespace. If NULL, then the string is assumed to contain only valid characters (or it will error out).
  cint | The converted integer
  base | The base for the integer; 0 means "if it begins with 0x, it's hex, otherwise if it begins with 0, it's octal, otherwise it's decimal".

Returns
  true if the conversion succeeds, false otherwise. On error, errno is set to EINVAL for unrecognized input and ERANGE if the resulting number does not fit in the type.

## ◆ ws_basestrtou8()

WS_DLL_PUBLIC bool ws_basestrtou8 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint8_t * | cint,
|  | int | base
| ) |  |

Convert a string in the specified base to an 8-bit unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer that will store a pointer to the first invalid character in str, allowing a number to be parsed even if there is trailing whitespace. If NULL, then the string is assumed to contain only valid characters (or it will error out).
  cint | The converted integer
  base | The base for the integer; 0 means "if it begins with 0x, it's hex, otherwise if it begins with 0, it's octal, otherwise it's decimal".

Returns
  true if the conversion succeeds, false otherwise. On error, errno is set to EINVAL for unrecognized input and ERANGE if the resulting number does not fit in the type.

## ◆ ws_hexstrtou()

WS_DLL_PUBLIC bool ws_hexstrtou | ( | const char * | str,
|  | const char ** | endptr,
|  | unsigned * | cint
| ) |  |

Convert a hexadecimal string to an unsigned int, with error checks.

Parameters

  str | The hexadecimal string to convert.
  endptr | A pointer that will store a pointer to the first invalid character in str, allowing a number to be parsed even if there is trailing whitespace. If NULL, then the string is assumed to contain only valid characters.

Returns
  true if the conversion was successful, false otherwise.

## ◆ ws_hexstrtou16()

WS_DLL_PUBLIC bool ws_hexstrtou16 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint16_t * | cint
| ) |  |

Convert a hexadecimal string to an 16-bit unsigned int, with error checks.

Parameters

  str | The hexadecimal string to convert.
  endptr | A pointer that will store a pointer to the first invalid character encountered during conversion.

Returns
  true If the conversion was successful.
  false If the conversion failed.

## ◆ ws_hexstrtou64()

WS_DLL_PUBLIC bool ws_hexstrtou64 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint64_t * | cint
| ) |  |

Convert a hexdecimal string to an unsigned int, with error checks.

Parameters

  str | The hexdecimal string to convert
  endptr | A pointer that will store a pointer to the first invalid character in str, allowing a number to be parsed even if there is trailing whitespace. If NULL, then the string is assumed to contain only valid characters (or it will error out).
  cint | The converted integer

Returns
  true if the conversion succeeds, false otherwise. On error, errno is set to EINVAL for unrecognized input and ERANGE if the resulting number does not fit in the type.

## ◆ ws_hexstrtou8()

WS_DLL_PUBLIC bool ws_hexstrtou8 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint8_t * | cint
| ) |  |

Convert a hexadecimal string in the specified base to an 8-bit unsigned int, with error checks.

Parameters

  str | The hexadecimal string to convert.
  endptr | A pointer that will store a pointer to the first invalid character encountered during conversion.

Returns
  true If the conversion was successful.
  false If the conversion failed.

## ◆ ws_strtoi()

WS_DLL_PUBLIC bool ws_strtoi | ( | const char * | str,
|  | const char ** | endptr,
|  | int * | cint
| ) |  |

Convert a string to an integer.

Converts the initial part of the string pointed to by 'str' to an int.

Parameters

  str | The string to be converted.
  endptr | A pointer to a char pointer that will receive the address of the first character not converted.
  cint | A pointer to an int where the result will be stored.

Returns
  true if successful, false otherwise.

## ◆ ws_strtoi16()

WS_DLL_PUBLIC bool ws_strtoi16 | ( | const char * | str,
|  | const char ** | endptr,
|  | int16_t * | cint
| ) |  |

Convert a string to a 16-bit integer.

Converts the initial portion of the string pointed to by str to an int value.

Parameters

  str | The string to be converted.
  endptr | A pointer to a char pointer that will receive the address of the first character not part of the conversion.
  cint | Pointer to the location where the result should be stored.

Returns
  true if successful, false otherwise.

## ◆ ws_strtoi32()

WS_DLL_PUBLIC bool ws_strtoi32 | ( | const char * | str,
|  | const char ** | endptr,
|  | int32_t * | cint
| ) |  |

Convert a string to an integer of specified size.

Converts a string to an integer of the specified size and stores the result in the provided variable.

Parameters

  str | The input string to convert.
  endptr | A pointer to a character that will be set to point to the first character after the converted number.
  cint | A pointer to the variable where the converted integer will be stored.

Returns
  true if the conversion was successful, false otherwise.

## ◆ ws_strtoi8()

WS_DLL_PUBLIC bool ws_strtoi8 | ( | const char * | str,
|  | const char ** | endptr,
|  | int8_t * | cint
| ) |  |

Convert a string to an 8-bit integer.

Converts the initial portion of the string pointed to by str to an int value.

Parameters

  str | The string to be converted.
  endptr | A pointer to a char pointer that will receive the address of the first character not part of the conversion.
  cint | Pointer to the location where the result should be stored.

Returns
  true if successful, false otherwise.

## ◆ ws_strtou()

WS_DLL_PUBLIC bool ws_strtou | ( | const char * | str,
|  | const char ** | endptr,
|  | unsigned * | cint
| ) |  |

Convert a decimal string to an unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer that will store a pointer to the first invalid character in str, allowing a number to be parsed even if there is trailing whitespace. If NULL, then the string is assumed to contain only valid characters (or it will error out).

Returns
  true on success, false on failure.

## ◆ ws_strtou16()

WS_DLL_PUBLIC bool ws_strtou16 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint16_t * | cint
| ) |  |

Convert a decimal string to an unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer to a char pointer that will receive the address of the first character not converted.

Returns
  true if the conversion was successful, false otherwise.

## ◆ ws_strtou32()

WS_DLL_PUBLIC bool ws_strtou32 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint32_t * | cint
| ) |  |

Convert a decimal string to a 32-bit unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer to a char pointer that will receive the address of the first character not converted.
  cint | A pointer to a uint32_t where the result will be stored.

Returns
  true if conversion is successful, false otherwise

## ◆ ws_strtou64()

WS_DLL_PUBLIC bool ws_strtou64 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint64_t * | cint
| ) |  |

Convert a decimal string to a 64-bit unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer to a char pointer that will receive the address of the first character not converted.
  cint | A pointer to a uint64_t where the result will be stored.

Returns
  true if conversion is successful, false otherwise

## ◆ ws_strtou8()

WS_DLL_PUBLIC bool ws_strtou8 | ( | const char * | str,
|  | const char ** | endptr,
|  | uint8_t * | cint
| ) |  |

Convert a decimal string to an unsigned int, with error checks.

Parameters

  str | The string to convert
  endptr | A pointer that will store a pointer to the first invalid character in str, allowing a number to be parsed even if there is trailing whitespace. If NULL, then the string is assumed to contain only valid characters.

Returns
  true on success, false otherwise