нл:: АргПарсер
Краткое содержание
Перечисления | |
---|---|
OptionArgumentType | перечисление Определяет требования к аргументам для параметра командной строки. |
Определения типов | |
---|---|
NonOptionArgHandlerFunct )(const char *progName, int argc, char *argv[]) | определение типаbool(* Функция, которую можно вызвать для обработки любых оставшихся аргументов командной строки, не являющихся параметрами. |
OptionHandlerFunct )(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg) | определение типаbool(* Функция, которую можно вызвать для обработки набора параметров командной строки. |
Переменные | |
---|---|
PrintArgError = DefaultPrintArgError)(const char *msg,...) | void(* Указатель на функцию, используемую для вывода ошибок, возникающих во время анализа аргументов. |
gActiveOptionSets = NULL | OptionSet ** Список наборов параметров, передаваемый в текущий активный вызов ParseArgs(). |
Функции | |
---|---|
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 Выведите сообщение об ошибке, связанное с анализом аргументов. |
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 Проанализируйте набор аргументов в стиле командной строки, вызывая функции обработки для обработки каждого параметра и аргумента, не являющегося параметром. |
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 Проанализируйте набор аргументов из именованной переменной среды. |
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 Анализ набора аргументов из заданной строки. |
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 Разобрать строку как логическое значение. |
ParseFabricId (const char *str, uint64_t & fabricId, bool allowReserved) | bool Разберите идентификатор ткани Weave в текстовой форме. |
ParseHexString (const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen) | bool Разобрать строку байтов, заданную в шестнадцатеричной форме. |
ParseIPAddress (const char *str, IPAddress & output) | bool Разберите IP-адрес в текстовой форме. |
ParseInt (const char *str, uint64_t & output, int base) | bool Разберите и попытайтесь преобразовать строку в 64-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра. |
ParseInt (const char *str, uint32_t & output, int base) | bool Разберите и попытайтесь преобразовать строку в 32-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра. |
ParseInt (const char *str, int32_t & output, int base) | bool Разберите и попытайтесь преобразовать строку в 32-битное целое число со знаком, применив соответствующую интерпретацию на основе базового параметра. |
ParseInt (const char *str, uint64_t & output) | bool Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 64-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра. |
ParseInt (const char *str, uint32_t & output) | bool Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 32-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра. |
ParseInt (const char *str, int32_t & output) | bool Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 32-битное целое число со знаком, применяя соответствующую интерпретацию на основе базового параметра. |
ParseInt (const char *str, uint16_t & output) | bool Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 16-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра. |
ParseInt (const char *str, int16_t & output) | bool Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 16-битное целое число со знаком, применяя соответствующую интерпретацию на основе базового параметра. |
ParseInt (const char *str, uint8_t & output) | bool Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 8-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра. |
ParseNodeId (const char *str, uint64_t & nodeId) | bool Анализируйте идентификатор узла Weave в текстовой форме. |
ParseSubnetId (const char *str, uint16_t & subnetId) | bool Разберите и попытайтесь преобразовать строку в 16-битный беззнаковый идентификатор подсети, интерпретируя строку как шестнадцатеричную. |
PrintOptionHelp ( OptionSet *optSets[], FILE *s) | void Распечатайте текст справки для указанного списка параметров в поток. |
PutStringWithBlankLine (FILE *s, const char *str) | void |
PutStringWithNewLine (FILE *s, const char *str) | void |
SplitArgs (char *argStr, char **& argList, char *initialArg) | int32_t |
Классы | |
---|---|
nl:: ArgParser:: HelpOptions | Общий набор параметров для обработки информационных опций (справка, версия). |
nl:: ArgParser:: OptionSetBase | OptionSet , где обработчик является виртуальной функцией. |
Структуры | |
---|---|
nl:: ArgParser:: OptionDef | Определяет параметр командной строки. |
nl:: ArgParser:: OptionSet | Определяет группу логически связанных и многократно используемых параметров командной строки. |
Перечисления
OptionArgumentType
OptionArgumentType
Определяет требования к аргументам для параметра командной строки.
Определения типов
NonOptionArgHandlerFunct
bool(* NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
Функция, которую можно вызвать для обработки любых оставшихся аргументов командной строки, не являющихся параметрами.
OptionHandlerFunct
bool(* OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
Функция, которую можно вызвать для обработки набора параметров командной строки.
Переменные
PrintArgError
void(* PrintArgError)(const char *msg,...) = DefaultPrintArgError
Указатель на функцию, используемую для вывода ошибок, возникающих во время анализа аргументов.
Приложения должны вызывать PrintArgError(), чтобы сообщать об ошибках в функциях обработки аргументов, не являющихся опциями, а не печатать непосредственно на стандартный вывод/stderr.
По умолчанию это указатель на функцию DefaultPrintArgError()
.
гактивеопционсетс
OptionSet ** gActiveOptionSets = NULL
Список наборов параметров, передаваемый в текущий активный вызов ParseArgs().
Это значение будет NULL, если вызов ParseArgs() не выполняется.
Функции
CountAllOptions
size_t CountAllOptions( OptionSet *optSets[] )
CountAllOptions
size_t CountAllOptions( OptionSet **optSets )
CountOptionSets
size_t CountOptionSets( OptionSet *optSets[] )
CountOptionSets
size_t CountOptionSets( OptionSet **optSets )
Дефаултпринтаргеррор
void DefaultPrintArgError( const char *msg, ... )
Выведите сообщение об ошибке, связанное с анализом аргументов.
Функция по умолчанию, используемая для печати сообщений об ошибках, возникающих из-за анализа аргументов.
Подробности | |||
---|---|---|---|
Параметры |
|
Приложения должны вызывать функцию через указатель на функцию PrintArgError, а не вызывать эту функцию напрямую.
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 )
IsShortOptionChar
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 )
Проанализируйте набор аргументов в стиле командной строки, вызывая функции обработки для обработки каждого параметра и аргумента, не являющегося параметром.
ParseArgs() принимает список аргументов ( argv
) и анализирует его в соответствии с набором предоставленных определений опций. Функция поддерживает как длинные (opt), так и короткие (-o) параметры и реализует тот же синтаксис параметров, что и функция GNU getopt_long(3).
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возврат | true , если все параметры и аргументы, не являющиеся параметрами, были проанализированы успешно; false если опция не распознана или если одна из функций обработчика не удалась (т. е. вернула false). |
Определения опций передаются в ParseArgs() как массив структур OptionSet ( optSets
). Каждый OptionSet содержит массив определений опций и функцию-обработчик. ParseArgs() обрабатывает аргументы опций в заданном порядке, вызывая соответствующую функцию-обработчик для каждой распознанной опции. После того, как все параметры проанализированы, отдельная функция-обработчик, не являющаяся параметром ( nonOptArgHandler
), вызывается один раз для обработки любых оставшихся аргументов.
НАБОРЫ ОПЦИЙ
OptionSet содержит набор определений опций вместе с указателем на функцию-обработчик, которая будет вызываться при обнаружении одной из связанных опций. Наборы опций также содержат текст справки, описывающий синтаксис и назначение каждой опции (см. СПРАВКА ПО ОПЦИИ ниже). Наборы опций предназначены для создания повторно используемых коллекций связанных опций. Это упрощает усилия, необходимые для поддержки нескольких приложений, которые принимают одинаковые параметры (например, тестовые приложения).
Существует два шаблона для определения OptionSetsone: он может либо инициализировать экземпляр самой структуры OptionSet , например, как статический глобальный объект, либо подкласс OptionSetBase и предоставить конструктор. Последний использует чисто виртуальную функцию HandleOption()
для делегирования обработки опций подклассу.
Списки наборов параметров передаются в функцию ParseArgs() как массив указателей, завершающийся NULL. Например:
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)) { ... } }
ОПРЕДЕЛЕНИЯ ОПЦИЙ
Параметры определяются с использованием структуры OptionDef
. Определения параметров организованы в виде массива элементов OptionDef , где каждый элемент содержит: имя параметра, целочисленный идентификатор, который используется для идентификации параметра, а также сведения о том, ожидает ли параметр/разрешает аргумент. Конец массива опций обозначается полем NULL Name. Например:
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 } };
ИДЕНТИФИКАТОРЫ ОПЦИИ
Идентификаторы опций идентифицируют опции для кода, который их обрабатывает (функция OptionHandler). Идентификаторы опций относятся к набору опций , в котором они появляются, и поэтому могут повторно использоваться в разных наборах опций (однако см. КРАТКИЕ ОПЦИИ ниже). Общепринятым соглашением является нумерация идентификаторов опций с 1000, однако можно использовать любое число > 128. Параметры псевдонима можно создать, используя один и тот же идентификатор параметра с разными именами параметров.
КОРОТКИЕ ВАРИАНТЫ
В отличие от getopt_long(3), ParseArgs() не принимает отдельную строку, определяющую список коротких символов опций. Скорее, любой параметр, значение идентификатора которого попадает в диапазон графических символов ASCII, позволит использовать этот символ в качестве короткого параметра.
ParseArgs() требует, чтобы короткие символы опций были уникальными во всех наборах опций. По этой причине не рекомендуется использовать короткие параметры для любых наборов параметров, которые используются в разных программах, из-за значительной вероятности коллизий. Символы коротких параметров можно повторно использовать в одном наборе параметров , чтобы можно было создавать псевдонимы длинных имен параметров.
ОПЦИЯ ПОМОЩИ
Каждый набор параметров содержит строку OptionHelp
, описывающую назначение и синтаксис связанных параметров. Эти строки используются функцией PrintOptionHelp()
для генерации информации об использовании опции.
По соглашению строки справки по опциям состоят из примера синтаксиса, за которым следует текстовое описание опции. Если опция имеет короткую версию или псевдоним, она указывается перед основным длинным именем. Для единообразия строки синтаксиса имеют отступ 2 пробела, а строки описания — 7 пробелов. За описанием каждой опции, включая последнюю, следует одна пустая строка.
Например:
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";
ОПЦИЯ ГРУПП ПОМОЩИ
Наборы параметров содержат строку HelpGroupName
, которая используется для группировки параметров в выводе справки. Функция PrintOptionHelp()
использует HelpGroupName в качестве заголовка раздела в сгенерированных выходных данных об использовании. Если несколько наборов OptionSet имеют одинаковое имя HelpGroupName, PrintOptionHelp() распечатает справку по параметрам для разных наборов OptionSet вместе под общим заголовком раздела.
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[] )
ParseArgsFromEnvVar
bool ParseArgsFromEnvVar( const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown )
Проанализируйте набор аргументов из именованной переменной среды.
ParseArgsFromEnvVar() считывает именованную переменную среды и передает значение в ParseArgsFromString()
для анализа. Если переменная среды не установлена, функция ничего не делает.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возврат | true , если все параметры и аргументы, не являющиеся параметрами, были проанализированы успешно или если указанная переменная среды не установлена; false если опция не распознана, если одна из функций обработчика завершилась неудачно (т. е. вернула значение false) или произошла внутренняя ошибка. |
ParseArgsFromEnvVar
bool ParseArgsFromEnvVar( const char *progName, const char *varName, OptionSet *optSets[] )
ParseArgsFromEnvVar
bool ParseArgsFromEnvVar( const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler )
Разбор ArgsFromString
bool ParseArgsFromString( const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown )
Анализ набора аргументов из заданной строки.
ParseArgsFromString() разбивает заданную строку ( argStr
) на набор аргументов и анализирует аргументы с помощью функции ParseArgs().
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возврат | true , если все параметры и аргументы, не являющиеся параметрами, были проанализированы успешно; false если опция не распознана, если одна из функций-обработчиков завершилась неудачно (т. е. вернула false) или произошла внутренняя ошибка. |
Синтаксис входных строк аналогичен синтаксису команд оболочки Unix, но с упрощенной схемой кавычек. Конкретно:
- Аргументы разделяются пробелами, если только пробелы не заключены в кавычки или не экранированы.
- Обратная косая черта экранирует следующий символ, поэтому он воспринимается как обычный символ. Сама обратная косая черта удаляется.
- Одинарные или двойные кавычки начинают/заканчивают подстроки в кавычках. В подстроке единственными специальными символами являются обратная косая черта, которая экранирует следующий символ, и соответствующая конечная кавычка. Начальные/конечные символы кавычек удаляются.
Например:
--listen --count 10 --sw-version '1.0 (DEVELOPMENT)' "--hostname=nest.com"
Разбор ArgsFromString
bool ParseArgsFromString( const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler )
Разбор ArgsFromString
bool ParseArgsFromString( const char *progName, const char *argStr, OptionSet *optSets[] )
ParseBoolean
bool ParseBoolean( const char *str, bool & output )
Разобрать строку как логическое значение.
Эта функция принимает следующие входные значения (без учета регистра): «истина», «да», «t», «y», «1», «ложь», «нет», «f», «n», « 0".
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
Разберите идентификатор ткани Weave в текстовой форме.
Функция ParseFabricId() принимает 64-битный идентификатор структуры, заданный в шестнадцатеричном формате, с начальным «0x» или без него.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | true, если значение было успешно проанализировано; ложь, если нет. |
РазборHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
Разобрать строку байтов, заданную в шестнадцатеричной форме.
ParseHexString() ожидает, что входные данные будут в виде пар шестнадцатеричных цифр (в верхнем или нижнем регистре). Шестнадцатеричные пары могут быть разделены любым из следующих символов: двоеточие, точка с запятой, запятая, точка или тире. Кроме того, игнорируются пробельные символы в любом месте входной строки.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возврат | true, если значение было успешно проанализировано; false, если входные данные искажены или если outBuf слишком мал. |
Разобрать IP-адрес
bool ParseIPAddress( const char *str, IPAddress & output )
Разберите IP-адрес в текстовой форме.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | true, если значение было успешно проанализировано; ложь, если нет. |
Парсеинт
bool ParseInt( const char *str, uint64_t & output, int base )
Разберите и попытайтесь преобразовать строку в 64-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
Парсеинт
bool ParseInt( const char *str, uint32_t & output, int base )
Разберите и попытайтесь преобразовать строку в 32-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
Парсеинт
bool ParseInt( const char *str, int32_t & output, int base )
Разберите и попытайтесь преобразовать строку в 32-битное целое число со знаком, применив соответствующую интерпретацию на основе базового параметра.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
Парсеинт
bool ParseInt( const char *str, uint64_t & output )
Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 64-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
Парсеинт
bool ParseInt( const char *str, uint32_t & output )
Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 32-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
Парсеинт
bool ParseInt( const char *str, int32_t & output )
Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 32-битное целое число со знаком, применяя соответствующую интерпретацию на основе базового параметра.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
Парсеинт
bool ParseInt( const char *str, uint16_t & output )
Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 16-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
Парсеинт
bool ParseInt( const char *str, int16_t & output )
Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 16-битное целое число со знаком, применяя соответствующую интерпретацию на основе базового параметра.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
ПарсеИнт
bool ParseInt( const char *str, uint8_t & output )
Разберите и попытайтесь преобразовать строку, интерпретируемую как десятичное значение, в 8-битное целое число без знака, применив соответствующую интерпретацию на основе базового параметра.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
Анализируйте идентификатор узла Weave в текстовой форме.
Функция ParseNodeId() принимает либо 64-битный идентификатор узла, заданный в шестнадцатеричном формате (с начальным «0x» или без него), либо слова «any» или «all», которые интерпретируются как означающие любой идентификатор узла (0xFFFFFFFFFFFFFFFF). .
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | true, если значение было успешно проанализировано; ложь, если нет. |
ParseSubnetId
bool ParseSubnetId( const char *str, uint16_t & subnetId )
Разберите и попытайтесь преобразовать строку в 16-битный беззнаковый идентификатор подсети, интерпретируя строку как шестнадцатеричную.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | правда при успехе; в противном случае — false в случае неудачи. |
PrintOptionСправка
void PrintOptionHelp( OptionSet *optSets[], FILE *s )
Распечатайте текст справки для указанного списка параметров в поток.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
PutStringWithBlankLine
void PutStringWithBlankLine( FILE *s, const char *str )
PutStringWithNewLine
void PutStringWithNewLine( FILE *s, const char *str )
СплитАргс
int32_t SplitArgs( char *argStr, char **& argList, char *initialArg )