Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl::ArgParser

Ringkasan

Enumerasi

OptionArgumentType enum
Menentukan persyaratan argumen untuk opsi command line.

Typedef

NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[]) typedef
bool(*
Fungsi yang dapat dipanggil untuk menangani argumen command line non-opsi yang tersisa.
OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg) typedef
bool(*
Fungsi yang dapat dipanggil untuk menangani serangkaian opsi command line.

Variabel

PrintArgError = DefaultPrintArgError)(const char *msg,...)
void(*
Pointer ke fungsi yang digunakan untuk mencetak error yang terjadi selama penguraian argumen.
gActiveOptionSets = NULL
Daftar OptionSets diteruskan ke panggilan ParseArgs() yang aktif saat ini.

Fungsi

CountAllOptions(OptionSet *optSets[])
size_t
CountAllOptions(OptionSet **optSets)
size_t
CountOptionSets(OptionSet *optSets[])
size_t
CountOptionSets(OptionSet **optSets)
size_t
DefaultPrintArgError(const char *msg, ...)
void
Mencetak pesan error yang terkait dengan penguraian argumen.
FindOptionById(OptionSet **optSets, int optId, OptionSet *& optSet, OptionDef *& optDef)
void
FindOptionByIndex(OptionSet **optSets, int optIndex, OptionSet *& optSet, OptionDef *& optDef)
void
GetNextArg(char *& parsePoint)
bool
IsShortOptionChar(int ch)
bool
MakeLongOptions(OptionSet **optSets)
struct option *
MakeShortOptions(OptionSet **optSets)
char *
MakeUniqueHelpGroupNamesList(OptionSet *optSets[])
const char **
ParseArgs(const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown)
bool
Mengurai kumpulan argumen bergaya command line, yang memanggil fungsi penanganan untuk memproses setiap opsi dan argumen non-opsi.
ParseArgs(const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler)
bool
ParseArgs(const char *progName, int argc, char *argv[], OptionSet *optSets[])
bool
ParseArgsFromEnvVar(const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown)
bool
Mengurai kumpulan argumen dari variabel lingkungan bernama.
ParseArgsFromEnvVar(const char *progName, const char *varName, OptionSet *optSets[])
bool
ParseArgsFromEnvVar(const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler)
bool
ParseArgsFromString(const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown)
bool
Mengurai kumpulan argumen dari string tertentu.
ParseArgsFromString(const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler)
bool
ParseArgsFromString(const char *progName, const char *argStr, OptionSet *optSets[])
bool
ParseBoolean(const char *str, bool & output)
bool
Uraikan string sebagai nilai boolean.
ParseFabricId(const char *str, uint64_t & fabricId, bool allowReserved)
bool
Uraikan ID kain Weave dalam bentuk teks.
ParseHexString(const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen)
bool
Mengurai string byte yang diberikan dalam bentuk hex.
ParseIPAddress(const char *str, IPAddress & output)
bool
Mengurai alamat IP dalam bentuk teks.
ParseInt(const char *str, uint64_t & output, int base)
bool
Mengurai dan mencoba mengonversi string menjadi bilangan bulat 64-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
ParseInt(const char *str, uint32_t & output, int base)
bool
Mengurai dan mencoba mengonversi string menjadi bilangan bulat 32-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
ParseInt(const char *str, int32_t & output, int base)
bool
Mengurai dan mencoba mengonversi string menjadi bilangan bulat 32-bit bertanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
ParseInt(const char *str, uint64_t & output)
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 64-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
ParseInt(const char *str, uint32_t & output)
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 32-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
ParseInt(const char *str, int32_t & output)
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 32-bit bertanda tangan, yang menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
ParseInt(const char *str, uint16_t & output)
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 16-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
ParseInt(const char *str, int16_t & output)
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 16-bit bertanda tangan, yang menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
ParseInt(const char *str, uint8_t & output)
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 8-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
ParseNodeId(const char *str, uint64_t & nodeId)
bool
Uraikan ID node Weave dalam bentuk teks.
ParseSubnetId(const char *str, uint16_t & subnetId)
bool
Mengurai dan mencoba mengonversi string menjadi ID subnet 16-bit yang tidak ditandatangani, dengan menafsirkan string sebagai heksadesimal.
PrintOptionHelp(OptionSet *optSets[], FILE *s)
void
Mencetak teks bantuan untuk daftar opsi yang ditentukan ke streaming.
PutStringWithBlankLine(FILE *s, const char *str)
void
PutStringWithNewLine(FILE *s, const char *str)
void
SplitArgs(char *argStr, char **& argList, char *initialArg)
int32_t

Class

nl::ArgParser::Opsi Bantuan

OptionSet umum untuk menangani opsi informasi (help, version).

nl::ArgParser::OptionSetBase

OptionSet yang mana pengendali adalah fungsi virtual.

Struct

nl::ArgParser::OptionDef

Menentukan opsi command line.

nl::ArgParser::Set Opsi

Menentukan grup opsi command line yang terkait dan dapat digunakan kembali secara logis.

Enumerasi

OpsiArgumentType

 OptionArgumentType

Menentukan persyaratan argumen untuk opsi command line.

Typedef

NonOpsiArgHandlerFunct

bool(* NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])

Fungsi yang dapat dipanggil untuk menangani argumen command line non-opsi yang tersisa.

OptionHandlerFunct

bool(* OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)

Fungsi yang dapat dipanggil untuk menangani serangkaian opsi command line.

Variabel

PrintArgError

void(* PrintArgError)(const char *msg,...) = DefaultPrintArgError

Pointer ke fungsi yang digunakan untuk mencetak error yang terjadi selama penguraian argumen.

Aplikasi harus memanggil PrintArgError() untuk melaporkan kesalahan dalam opsinya dan fungsi penanganan argumen non-opsi, bukan mencetak langsung ke stdout/stderr.

Default-nya adalah merupakan pointer ke fungsi DefaultPrintArgError().

gActiveOptionSet

OptionSet ** gActiveOptionSets = NULL

Daftar OptionSets diteruskan ke panggilan ParseArgs() yang aktif saat ini.

Nilai ini akan menjadi NULL ketika tidak ada panggilan ke ParseArgs() yang sedang berlangsung.

Fungsi

HitungSemuaOpsi

size_t CountAllOptions(
  OptionSet *optSets[]
)

HitungSemuaOpsi

size_t CountAllOptions(
  OptionSet **optSets
)

JumlahHitunganSet

size_t CountOptionSets(
  OptionSet *optSets[]
)

JumlahHitunganSet

size_t CountOptionSets(
  OptionSet **optSets
)

DefaultPrintArgError

void DefaultPrintArgError(
  const char *msg,
  ...
)

Mencetak pesan error yang terkait dengan penguraian argumen.

Fungsi default digunakan untuk mencetak pesan error yang muncul karena penguraian argumen.

Detail
Parameter
[in] msg
Pesan yang akan dicetak.

Aplikasi harus memanggil melalui pointer fungsi PrintArgError, bukan memanggil fungsi ini secara langsung.

FindOptionById

void FindOptionById(
  OptionSet **optSets,
  int optId,
  OptionSet *& optSet,
  OptionDef *& optDef
)

FindOptionByIndex

void FindOptionByIndex(
  OptionSet **optSets,
  int optIndex,
  OptionSet *& optSet,
  OptionDef *& optDef
)

GetNextArg

bool GetNextArg(
  char *& parsePoint
)

IsharOptionChar

bool IsShortOptionChar(
  int ch
)

MakeLongOptions

struct option * MakeLongOptions(
  OptionSet **optSets
)

MakeShortOptions

char * MakeShortOptions(
  OptionSet **optSets
)

MakeUniqueHelpGroupNamesList

const char ** MakeUniqueHelpGroupNamesList(
  OptionSet *optSets[]
)

ParseArgs

bool ParseArgs(
  const char *progName,
  int argc,
  char *argv[],
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler,
  bool ignoreUnknown
)

Mengurai kumpulan argumen bergaya command line, yang memanggil fungsi penanganan untuk memproses setiap opsi dan argumen non-opsi.

ParseArgs() mengambil daftar argumen (argv) dan mengurainya sesuai dengan kumpulan definisi opsi yang disediakan. Fungsi ini mendukung opsi panjang (opt) dan pendek (-o) dan mengimplementasikan sintaksis opsi yang sama seperti fungsi GNU getopt_long(3).

Detail
Parameter
[in] progName
Nama program atau konteks tempat argumen diurai. String ini akan digunakan untuk mengawali pesan dan peringatan error.
[in] argc
Jumlah argumen yang akan diurai, ditambah 1.
[in] argv
Array string argumen yang akan diurai. Panjang array harus 1 lebih besar dari nilai yang ditentukan untuk argc, dan argv[argc] harus ditetapkan ke NULL. Penguraian argumen dimulai dengan elemen array second (argv[1]); elemen 0 diabaikan.
[in] optSets
Daftar pointer ke struktur OptionSet yang menentukan opsi hukum. Daftar yang disediakan harus diakhiri dengan NULL.
[in] nonOptArgHandler
Pointer ke fungsi yang akan dipanggil setelah penguraian opsi selesai dengan argumen non-opsi yang tersisa . Fungsi ini dipanggil terlepas dari apakah masih ada argumen. Jika NULL diteruskan, ParseArgs() akan melaporkan error jika ada argumen non-opsi.
[in] ignoreUnknown
Jika benar, diam-diam mengabaikan opsi yang tidak dikenal.
Menampilkan
true jika semua opsi dan argumen non-opsi berhasil diurai; false jika opsi tidak dikenali atau jika salah satu fungsi pengendali gagal (yaitu menampilkan nilai salah).

Definisi opsi diteruskan ke ParseArgs() sebagai array struktur OptionSet (optSets). Setiap OptionSet berisi array definisi opsi dan fungsi pengendali. ParseArgs() memproses argumen opsi dalam urutan tertentu, memanggil fungsi pengendali masing-masing untuk setiap opsi yang dikenal. Setelah semua opsi diuraikan, fungsi pengendali non-opsi (nonOptArgHandler) yang terpisah akan dipanggil sekali untuk memproses argumen yang tersisa.

SET OPSI

OptionSet berisi kumpulan definisi opsi beserta pointer ke fungsi pengendali yang akan dipanggil saat salah satu opsi terkait ditemukan. Kumpulan opsi juga berisi teks bantuan yang menjelaskan sintaksis dan tujuan setiap opsi (lihat BANTUAN OPSI di bawah). Kumpulan opsi didesain untuk memungkinkan pembuatan kumpulan opsi terkait yang dapat digunakan kembali. Hal ini menyederhanakan upaya yang diperlukan untuk mengelola beberapa aplikasi yang menerima opsi serupa (misalnya, aplikasi pengujian).

Ada dua pola untuk menentukan OptionSetsone yang dapat menginisialisasi instance struct OptionSet itu sendiri, misalnya sebagai global statis, atau subclass OptionSetBase dan menyediakan konstruktor. Yang kedua menggunakan fungsi HandleOption() murni murni untuk mendelegasikan penanganan opsi ke subclass.

Daftar OptionSets diteruskan ke fungsi ParseArgs() sebagai array pointer yang dihentikan NULL. Misalnya:

static OptionSet gToolOptions =
{
    HandleOption,        // handler function
    gToolOptionDefs,  // array of option definitions
    "GENERAL OPTIONS",   // help group
    gToolOptionHelp   // option help text
};

static OptionSet *gOptionSets[] =
{
    &gToolOptions,
    &gNetworkOptions,
    &gTestingOptions,
    &gHelpOptions,
    NULL
};

int main(int argc, char *argv[])
{
    if (!ParseArgs("test-app", argc, argv, gOptionSets))
    {
        ...
    }
}

DEFINISI OPSI

Opsi ditentukan menggunakan struktur OptionDef. Definisi opsi disusun sebagai array elemen OptionDef, dengan setiap elemen berisi: nama opsi, ID integer yang digunakan untuk mengidentifikasi opsi, dan apakah opsi mengharapkan/mengizinkan argumen. Akhir array opsi ditandai oleh kolom Nama NULL. Misalnya:

enum
{
    kOpt_Listen = 1000,
    kOpt_Length,
    kOpt_Count,
};

static OptionDef gToolOptionDefs[] =
{
    // NAME         REQUIRES/ALLOWS ARG?  ID/SHORT OPTION CHAR
    // ============================================================
    {  "listen",    kNoArgument,          kOpt_Listen     },
    {  "length",    kArgumentRequired,    kOpt_Length     },
    {  "count",     kArgumentRequired,    kOpt_Count      },
    {  "num",       kArgumentRequired,    kOpt_Count      }, // alias for --count
    {  "debug",     kArgumentOptional,    'd'             },
    {  "help",      kNoArgument,          'h'             },
    {  NULL }
};

OPSI IDS

ID opsi mengidentifikasi opsi pada kode yang menanganinya (fungsi OptionHandler). ID opsi bersifat relatif terhadap OptionSet tempat ID tersebut muncul, sehingga dapat digunakan kembali di berbagai OptionSets (namun lihat OPSI SHORT di bawah). Konvensi umumnya adalah memulai ID opsi penomoran pada 1000, tetapi angka apa pun > 128 dapat digunakan. Opsi alias dapat dibuat dengan menggunakan ID opsi yang sama dengan nama opsi yang berbeda.

OPSI SHORT

Tidak seperti getopt_long(3), ParseArgs() tidak menggunakan string terpisah yang menentukan daftar karakter opsi pendek. Sebaliknya, opsi apa pun yang nilai ID-nya berada dalam rentang karakter ASCII grafis akan memungkinkan karakter tersebut digunakan sebagai opsi singkat.

ParseArgs() mengharuskan karakter opsi pendek bersifat unik di semua OptionSet. Oleh karena itu, penggunaan opsi singkat tidak disarankan untuk segala Set Opsi yang dibagikan lintas program karena besar kemungkinan terjadi benturan. Karakter opsi pendek dapat digunakan kembali dalam satu OptionSet untuk memungkinkan pembuatan nama opsi panjang alias.

OPSI BANTUAN

Setiap OptionSet berisi string OptionHelp yang menjelaskan tujuan dan sintaksis opsi terkait. String ini digunakan oleh fungsi PrintOptionHelp() untuk menghasilkan informasi penggunaan opsi.

Berdasarkan konvensi, string bantuan opsi terdiri dari contoh sintaksis yang diikuti dengan deskripsi tekstual opsi. Jika opsi memiliki versi singkat, atau nama alias, nama tersebut akan diberikan sebelum nama panjang utama. Agar konsisten, baris sintaksis diberi indentasi dengan 2 spasi, sementara baris deskripsi diindentasi dengan 7 spasi. Satu baris kosong akan mengikuti setiap deskripsi opsi, termasuk yang terakhir.

Misalnya:

static const char *const gToolOptionHelp =
    "  --listen\n"
    "       Listen and respond to requests sent from another node.\n"
    "\n"
    "  --length \n"
    "       Send requests with the specified number of bytes in the payload.\n"
    "\n"
    "  --num, --count \n"
    "       Send the specified number of requests and exit.\n"
    "\n"
    "  -d, --debug []\n"
    "       Set debug logging to the given level. (Default: 1)\n"
    "\n"
    "  -h, --help\n"
    "       Print help information.\n"
    "\n";

OPSI GRUP BANTUAN

OptionSet berisi string HelpGroupName yang digunakan untuk mengelompokkan opsi dalam output bantuan. Fungsi PrintOptionHelp() menggunakan HelpGroupName sebagai judul bagian dalam output penggunaan yang dihasilkan. Jika beberapa OptionSets memiliki HelpGroupName yang sama, PrintOptionHelp() akan mencetak opsi bantuan untuk OptionSets yang berbeda dalam satu judul bagian yang sama.

ParseArgs

bool ParseArgs(
  const char *progName,
  int argc,
  char *argv[],
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler
)

ParseArgs

bool ParseArgs(
  const char *progName,
  int argc,
  char *argv[],
  OptionSet *optSets[]
)

ParseArgsDariEnvVar

bool ParseArgsFromEnvVar(
  const char *progName,
  const char *varName,
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler,
  bool ignoreUnknown
)

Mengurai kumpulan argumen dari variabel lingkungan bernama.

ParseArgsFromEnvVar() membaca variabel lingkungan yang bernama dan meneruskan nilai ke ParseArgsFromString() untuk penguraian. Jika variabel lingkungan tidak ditetapkan, fungsi tidak akan melakukan apa pun.

Detail
Parameter
[in] progName
Nama program atau konteks tempat argumen diurai. String ini akan digunakan untuk mengawali pesan dan peringatan error.
[in] varName
Nama variabel lingkungan.
[in] optSets
Daftar pointer ke struktur OptionSet yang menentukan opsi hukum. Daftar yang disediakan harus diakhiri dengan NULL.
[in] nonOptArgHandler
Pointer ke fungsi yang akan dipanggil setelah penguraian opsi selesai dengan argumen non-opsi yang tersisa . Fungsi ini dipanggil terlepas dari apakah masih ada argumen. Jika NULL diteruskan, ParseArgs() akan melaporkan error jika ada argumen non-opsi.
[in] ignoreUnknown
Jika benar, diam-diam mengabaikan opsi yang tidak dikenal.
Menampilkan
true jika semua opsi dan argumen non-opsi berhasil diurai, atau jika variabel lingkungan yang ditentukan tidak disetel; false jika opsi tidak dikenali, jika salah satu fungsi pengendali gagal (yaitu menampilkan nilai salah) atau jika terjadi error internal.

ParseArgsDariEnvVar

bool ParseArgsFromEnvVar(
  const char *progName,
  const char *varName,
  OptionSet *optSets[]
)

ParseArgsDariEnvVar

bool ParseArgsFromEnvVar(
  const char *progName,
  const char *varName,
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler
)

ParseArgsFromString

bool ParseArgsFromString(
  const char *progName,
  const char *argStr,
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler,
  bool ignoreUnknown
)

Mengurai kumpulan argumen dari string tertentu.

ParseArgsFromString() memisahkan string tertentu (argStr) menjadi sekumpulan argumen dan mengurai argumen menggunakan fungsi ParseArgs().

Detail
Parameter
[in] progName
Nama program atau konteks tempat argumen diurai. String ini akan digunakan untuk mengawali pesan dan peringatan error.
[in] argStr
String yang berisi opsi dan argumen untuk diurai.
[in] optSets
Daftar pointer ke struktur OptionSet yang menentukan opsi hukum. Daftar yang disediakan harus diakhiri dengan NULL.
[in] nonOptArgHandler
Pointer ke fungsi yang akan dipanggil setelah penguraian opsi selesai dengan argumen non-opsi yang tersisa . Fungsi ini dipanggil terlepas dari apakah masih ada argumen. Jika NULL diteruskan, ParseArgs() akan melaporkan error jika ada argumen non-opsi.
[in] ignoreUnknown
Jika benar, diam-diam mengabaikan opsi yang tidak dikenal.
Menampilkan
true jika semua opsi dan argumen non-opsi berhasil diurai; false jika opsi tidak dikenali, jika salah satu fungsi pengendali gagal (yaitu menampilkan nilai salah) atau jika terjadi error internal.

Sintaksis string input mirip dengan sintaksis perintah shell unix, tetapi dengan skema kutipan yang disederhanakan. Khususnya:

  • Argumen dibatasi oleh spasi kosong, kecuali jika spasi kosong dikutip atau di-escape.
  • Garis miring terbalik menghindari karakter berikut, sehingga diperlakukan sebagai karakter normal. Garis miring terbalik itu sendiri dihilangkan.
  • Tanda kutip tunggal dimulai/diakhiri tanda kutip tunggal atau ganda. Dalam substring, satu-satunya karakter khusus adalah garis miring terbalik, yang meng-escape karakter berikutnya, dan kutipan akhir yang sesuai. Karakter kutipan awal/akhir dihilangkan.

Misalnya:

--listen --count 10 --sw-version '1.0 (DEVELOPMENT)' "--hostname=nest.com"

ParseArgsFromString

bool ParseArgsFromString(
  const char *progName,
  const char *argStr,
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler
)

ParseArgsFromString

bool ParseArgsFromString(
  const char *progName,
  const char *argStr,
  OptionSet *optSets[]
)

ParseBoolean

bool ParseBoolean(
  const char *str,
  bool & output
)

Uraikan string sebagai nilai boolean.

Fungsi ini menerima nilai input berikut (tidak peka huruf besar kecil): "true", "ya", "t", "y", "1", "false", "no", "f", &0 }}

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri NULL yang mewakili nilai untuk diuraikan.
[out] output
Referensi ke penyimpanan untuk bool tempat nilai yang diurai akan disimpan setelah berhasil.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ID ParseFabric

bool ParseFabricId(
  const char *str,
  uint64_t & fabricId,
  bool allowReserved
)

Uraikan ID kain Weave dalam bentuk teks.

Fungsi ParseFabricId() menerima ID kain 64-bit yang diberikan dalam format hex, dengan atau tanpa awalan '0x'.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri NULL yang berisi ID kain untuk diuraikan.
[out] output
Referensi ke nilai uint64_t tempat nilai yang diurai akan disimpan setelah berhasil.
[in] allowReserved
Jika benar, izinkan penguraian ID kain dalam rentang yang dicadangkan.
Menampilkan
true jika nilai berhasil diuraikan; false jika tidak.

ParseHexString

bool ParseHexString(
  const char *hexStr,
  uint32_t strLen,
  uint8_t *outBuf,
  uint32_t outBufSize,
  uint32_t & outDataLen
)

Mengurai string byte yang diberikan dalam bentuk hex.

ParseHexString() mengharapkan input dalam bentuk pasangan angka heksadesimal (huruf besar atau huruf kecil). Pasangan heksadesimal secara opsional dapat dipisahkan dengan salah satu karakter berikut: titik dua, titik koma, koma, titik atau tanda hubung. Selain itu, karakter spasi kosong di mana saja dalam string input akan diabaikan.

Detail
Parameter
[in] hexStr
Pointer ke string untuk diuraikan.
[in] strLen
Jumlah karakter dalam hexStr untuk diuraikan.
[in] outBuf
Pointer ke buffer tempat byte penguraian akan disimpan.
[in] outBufSize
Ukuran buffer yang ditunjukkan oleh outBuf.
[out] outDataLen
Referensi ke bilangan bulat yang akan menerima jumlah total byte yang diurai. Jika outBuf tidak cukup besar untuk menampung jumlah byte yang ditentukan, outDataLen akan ditetapkan ke UINT32_MAX.
Menampilkan
true jika nilai berhasil diuraikan; false jika format data input salah, atau jika outBuf terlalu kecil.

ParseIPAlamat

bool ParseIPAddress(
  const char *str,
  IPAddress & output
)

Mengurai alamat IP dalam bentuk teks.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri NULL yang berisi alamat untuk diuraikan.
[out] output
Referensi ke objek IPAddress tempat nilai yang diuraikan akan disimpan setelah berhasil.
Menampilkan
true jika nilai berhasil diuraikan; false jika tidak.

ParseInt

bool ParseInt(
  const char *str,
  uint64_t & output,
  int base
)

Mengurai dan mencoba mengonversi string menjadi bilangan bulat 64-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri dengan NULL yang mewakili bilangan bulat untuk diurai.
[out] output
Referensi ke penyimpanan untuk bilangan bulat 64-bit tanpa tanda tangan yang akan digunakan untuk menyimpan nilai yang diuraikan.
[in] base
Dasar yang digunakan untuk menafsirkan dan menguraikan string. Jika 0 atau 16, string mungkin heksadesimal dan diawali dengan "0x". Jika tidak, 0 tersirat sebagai 10 kecuali 0 di depan ditemukan di mana 8 tersirat.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ParseInt

bool ParseInt(
  const char *str,
  uint32_t & output,
  int base
)

Mengurai dan mencoba mengonversi string menjadi bilangan bulat 32-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri dengan NULL yang mewakili bilangan bulat untuk diurai.
[out] output
Referensi ke penyimpanan untuk bilangan bulat 32-bit tanpa tanda tangan yang akan digunakan untuk menyimpan nilai yang diuraikan.
[in] base
Dasar yang digunakan untuk menafsirkan dan menguraikan string. Jika 0 atau 16, string mungkin heksadesimal dan diawali dengan "0x". Jika tidak, 0 tersirat sebagai 10 kecuali 0 di depan ditemukan di mana 8 tersirat.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ParseInt

bool ParseInt(
  const char *str,
  int32_t & output,
  int base
)

Mengurai dan mencoba mengonversi string menjadi bilangan bulat 32-bit bertanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri dengan NULL yang mewakili bilangan bulat untuk diurai.
[out] output
Referensi ke penyimpanan untuk bilangan bulat 32-bit bertanda tangan yang akan digunakan untuk menyimpan nilai yang diuraikan.
[in] base
Dasar yang digunakan untuk menafsirkan dan menguraikan string. Jika 0 atau 16, string mungkin heksadesimal dan diawali dengan "0x". Jika tidak, 0 tersirat sebagai 10 kecuali 0 di depan ditemukan di mana 8 tersirat.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ParseInt

bool ParseInt(
  const char *str,
  uint64_t & output
)

Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 64-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri dengan NULL yang mewakili bilangan bulat untuk diurai.
[out] output
Referensi ke penyimpanan untuk bilangan bulat 64-bit tanpa tanda tangan yang akan digunakan untuk menyimpan nilai yang diuraikan.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ParseInt

bool ParseInt(
  const char *str,
  uint32_t & output
)

Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 32-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri dengan NULL yang mewakili bilangan bulat untuk diurai.
[out] output
Referensi ke penyimpanan untuk bilangan bulat 32-bit tanpa tanda tangan yang akan digunakan untuk menyimpan nilai yang diuraikan.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ParseInt

bool ParseInt(
  const char *str,
  int32_t & output
)

Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 32-bit bertanda tangan, yang menerapkan interpretasi yang sesuai berdasarkan parameter dasar.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri dengan NULL yang mewakili bilangan bulat untuk diurai.
[out] output
Referensi ke penyimpanan untuk bilangan bulat 32-bit bertanda tangan yang akan digunakan untuk menyimpan nilai yang diuraikan.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ParseInt

bool ParseInt(
  const char *str,
  uint16_t & output
)

Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 16-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri dengan NULL yang mewakili bilangan bulat untuk diurai.
[out] output
Referensi ke penyimpanan untuk bilangan bulat 16-bit tanpa tanda tangan yang akan digunakan untuk menyimpan nilai yang diuraikan.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ParseInt

bool ParseInt(
  const char *str,
  int16_t & output
)

Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 16-bit bertanda tangan, yang menerapkan interpretasi yang sesuai berdasarkan parameter dasar.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri dengan NULL yang mewakili bilangan bulat untuk diurai.
[out] output
Referensi ke penyimpanan untuk bilangan bulat 16-bit bertanda tangan yang akan digunakan untuk menyimpan nilai yang diuraikan.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ParseInt

bool ParseInt(
  const char *str,
  uint8_t & output
)

Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat 8-bit tanpa tanda tangan, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri dengan NULL yang mewakili bilangan bulat untuk diurai.
[out] output
Referensi ke penyimpanan untuk bilangan bulat 8-bit tanpa tanda tangan yang akan digunakan untuk menyimpan nilai yang diuraikan.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

ID ParseNode

bool ParseNodeId(
  const char *str,
  uint64_t & nodeId
)

Uraikan ID node Weave dalam bentuk teks.

Fungsi ParseNodeId() menerima ID node 64-bit yang diberikan dalam format hex (dengan atau tanpa awalan '0x'), atau kata 'any' atau 'all' yang ditafsirkan sebagai arti ID Node apa pun (0xFFFFFFFFFFFFFF).

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri NULL yang berisi ID node untuk diuraikan.
[out] output
Referensi ke nilai uint64_t tempat nilai yang diurai akan disimpan setelah berhasil.
Menampilkan
true jika nilai berhasil diuraikan; false jika tidak.

ParseSubnetId

bool ParseSubnetId(
  const char *str,
  uint16_t & subnetId
)

Mengurai dan mencoba mengonversi string menjadi ID subnet 16-bit yang tidak ditandatangani, dengan menafsirkan string sebagai heksadesimal.

Detail
Parameter
[in] str
Pointer ke string C yang diakhiri NULL yang mewakili ID subnet, diformat sebagai heksadesimal, untuk diuraikan.
[in,out] subnetId
Referensi ke penyimpanan untuk bilangan bulat 16-bit tanpa tanda tangan yang akan menyimpan nilai ID subnet yang diuraikan saat berhasil.
Menampilkan
true jika berhasil; jika tidak, false jika gagal.

BantuanOpsiOpsi

void PrintOptionHelp(
  OptionSet *optSets[],
  FILE *s
)

Mencetak teks bantuan untuk daftar opsi yang ditentukan ke streaming.

Detail
Parameter
[in] optSets
Daftar pointer ke struktur OptionSet yang berisi teks bantuan yang akan dicetak.
[in] s
Aliran FILE tempat teks bantuan harus dicetak.

PutStringWithBlankLine

void PutStringWithBlankLine(
  FILE *s,
  const char *str
)

PutStringWithNewLine

void PutStringWithNewLine(
  FILE *s,
  const char *str
)

SplitArgs

int32_t SplitArgs(
  char *argStr,
  char **& argList,
  char *initialArg
)