nl::ArgParser

সারাংশ

গণনা

OptionArgumentType enum
কমান্ড লাইন বিকল্পের জন্য আর্গুমেন্ট সংক্রান্ত প্রয়োজনীয়তা নির্ধারণ করে।

Typedefs

NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[]) typedef
bool(*
একটি ফাংশন যা বাকি থাকা, বিকল্প নয় এমন কমান্ড লাইন আর্গুমেন্ট ম্যানেজ করার জন্য কল করা যেতে পারে।
OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg) typedef
bool(*
একটি ফাংশন যা কমান্ড লাইন বিকল্পের একটি সেট পরিচালনা করার জন্য কল করা যেতে পারে।

ভেরিয়েবল

PrintArgError = DefaultPrintArgError)(const char *msg,...)
void(*
আর্গুমেন্ট পার্স করার সময় হওয়া সমস্যা প্রিন্ট করার জন্য ব্যবহৃত ফাংশনের পয়েন্টার।
gActiveOptionSets = NULL
বর্তমানে অ্যাক্টিভ ParseArgs() কলে পাস করা OptionSets-এর তালিকা।

ফাংশন

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
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, স্ট্রিং পার্স করে ৬৪-বিট আনসাইনড ইন্টিজারে পরিবর্তন করার চেষ্টা করুন।
ParseInt(const char *str, uint32_t & output, int base)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, স্ট্রিং পার্স করে ৩২-বিট আনসাইনড ইন্টিজারে পরিবর্তন করার চেষ্টা করে।
ParseInt(const char *str, int32_t & output, int base)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, স্ট্রিং পার্স করে ৩২-বিট সাইনড ইন্টিজারে কনভার্ট করার চেষ্টা করে।
ParseInt(const char *str, uint64_t & output)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক মান হিসেবে ব্যাখ্যা করা স্ট্রিংকে পার্স করে ৬৪-বিট আনসাইনড ইন্টিজারে কনভার্ট করার চেষ্টা করুন।
ParseInt(const char *str, uint32_t & output)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক মান হিসেবে ব্যাখ্যা করা স্ট্রিংকে পার্স করে ৩২-বিট আনসাইনড ইন্টিজারে কনভার্ট করার চেষ্টা করুন।
ParseInt(const char *str, int32_t & output)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক ভ্যালু হিসেবে ব্যাখ্যা করা স্ট্রিংকে পার্স করে ৩২-বিট সাইনড ইন্টিজারে পরিবর্তন করার চেষ্টা করুন।
ParseInt(const char *str, uint16_t & output)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ইন্টারপ্রিটেশন প্রয়োগ করে, দশমিক ভ্যালু হিসেবে ইন্টারপ্রিট করা স্ট্রিংকে পার্স করে ১৬-বিট আনসাইনড ইন্টিজারে কনভার্ট করার চেষ্টা করুন।
ParseInt(const char *str, int16_t & output)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক মান হিসেবে ব্যাখ্যা করা স্ট্রিংকে ১৬-বিট সাইনড ইন্টিজারে পার্স ও কনভার্ট করার চেষ্টা করুন।
ParseInt(const char *str, uint8_t & output)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক ভ্যালু হিসেবে ব্যাখ্যা করা স্ট্রিংকে ৮-বিট আনসাইনড ইন্টিজারে পার্স ও কনভার্ট করার চেষ্টা করুন।
ParseNodeId(const char *str, uint64_t & nodeId)
bool
টেক্সট ফর্মে Weave নোড আইডি পার্স করুন।
ParseSubnetId(const char *str, uint16_t & subnetId)
bool
স্ট্রিংকে হেক্সাডেসিমাল হিসেবে ব্যাখ্যা করে, পার্স করুন এবং ১৬-বিট আনসাইনড সাবনেট আইডিতে কনভার্ট করার চেষ্টা করুন।
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

তথ্যমূলক বিকল্প (সহায়তা, ভার্সন) ম্যানেজ করার জন্য সাধারণ OptionSet।

nl::ArgParser::OptionSetBase

একটি OptionSet যেখানে হ্যান্ডলার হল একটি ভার্চুয়াল ফাংশন।

স্ট্রাক্ট

nl::ArgParser::OptionDef

কমান্ড লাইন বিকল্প নির্ধারণ করে।

nl::ArgParser::OptionSet

যৌক্তিকভাবে সম্পর্কিত এবং পুনরায় ব্যবহারযোগ্য কমান্ড লাইন বিকল্পের একটি গ্রুপ সংজ্ঞায়িত করে।

গণনা

OptionArgumentType

 OptionArgumentType

কমান্ড লাইন বিকল্পের জন্য আর্গুমেন্ট সংক্রান্ত প্রয়োজনীয়তা নির্ধারণ করে।

Typedefs

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

আর্গুমেন্ট পার্স করার সময় হওয়া সমস্যা প্রিন্ট করার জন্য ব্যবহৃত ফাংশনের পয়েন্টার।

stdout/stderr-এ সরাসরি প্রিন্ট করার পরিবর্তে, অ্যাপ্লিকেশনগুলির বিকল্প এবং বিকল্প নয় এমন আর্গুমেন্ট হ্যান্ডলিং ফাংশনে ত্রুটি রিপোর্ট করার জন্য PrintArgError() কল করা উচিত।

ডিফল্ট হিসেবে DefaultPrintArgError() ফাংশনের পয়েন্টার হিসেবে সেট করা থাকে।

gActiveOptionSets

OptionSet ** gActiveOptionSets = NULL

বর্তমানে অ্যাক্টিভ ParseArgs() কলে পাস করা OptionSets-এর তালিকা।

ParseArgs() কল করার প্রসেস না চললে এই ভ্যালু NULL হবে।

ফাংশন

CountAllOptions

size_t CountAllOptions(
  OptionSet *optSets[]
)

CountAllOptions

size_t CountAllOptions(
  OptionSet **optSets
)

CountOptionSets

size_t CountOptionSets(
  OptionSet *optSets[]
)

CountOptionSets

size_t CountOptionSets(
  OptionSet **optSets
)

DefaultPrintArgError

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

আর্গুমেন্ট পার্সিংয়ের সাথে যুক্ত কোনও সমস্যার মেসেজ প্রিন্ট করুন।

আর্গুমেন্ট পার্স করার সময় যে ত্রুটি মেসেজ দেখা যায় তা প্রিন্ট করার জন্য ডিফল্ট ফাংশন ব্যবহার করা হয়।

বিবরণ
প্যারামিটারগুলি
[in] 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) ফাংশনের মতো একই বিকল্প সিনট্যাক্স প্রয়োগ করে।

বিবরণ
প্যারামিটারগুলি
[in] progName
প্রোগ্রাম বা প্রসঙ্গের নাম যেখানে আর্গুমেন্ট পার্স করা হচ্ছে। This string will be used to prefix error messages and warnings.
[in] argc
পার্স করার জন্য আর্গুমেন্টের সংখ্যা, সাথে ১।
[in] argv
পার্স করার জন্য আর্গুমেন্ট স্ট্রিংয়ের অ্যারে। অ্যারে দৈর্ঘ্য argc-এর জন্য নির্দিষ্ট করা ভ্যালুর চেয়ে ১ বেশি হতে হবে এবং argv[argc] অবশ্যই NULL-এ সেট করতে হবে। দ্বিতীয় অ্যারে এলিমেন্ট (argv[1]) থেকে আর্গুমেন্ট পার্সিং শুরু হয়; এলিমেন্ট ০ উপেক্ষা করা হয়।
[in] optSets
OptionSet স্ট্রাকচারের পয়েন্টারের তালিকা যা আইনি বিকল্পকে সংজ্ঞায়িত করে। প্রদান করা তালিকাটি অবশ্যই NULL দিয়ে শেষ হতে হবে।
[in] nonOptArgHandler
একটি ফাংশনের পয়েন্টার যা বিকল্প পার্সিং সম্পূর্ণ হলে বাকি থাকা বিকল্প নয় এমন আর্গুমেন্ট সহ কল করা হবে। কোনও আর্গুমেন্ট বাকি থাকুক বা না থাকুক, ফাংশনটি কল করা হয়। NULL পাস করা হলে, কোনও বিকল্প নয় এমন আর্গুমেন্ট থাকলে ParseArgs() একটি ত্রুটি রিপোর্ট করবে।
[in] ignoreUnknown
ট্রু হলে, কোনও অজানা বিকল্পকে নীরবে উপেক্ষা করুন।
ফেরত
true যদি সব বিকল্প এবং বিকল্প নয় এমন আর্গুমেন্ট সফলভাবে পার্স করা হয়; false যদি কোনও বিকল্প শনাক্ত করা না যায় অথবা কোনও হ্যান্ডলার ফাংশন কাজ না করে (অর্থাৎ, false রিটার্ন করে)।

বিকল্পের সংজ্ঞা ParseArgs()-এ OptionSet স্ট্রাকচারের (optSets) অ্যারে হিসেবে পাস করা হয়। প্রতিটি OptionSet-এ বিকল্পের সংজ্ঞা ও হ্যান্ডলার ফাংশনের অ্যারে থাকে। ParseArgs() প্রদত্ত ক্রমে বিকল্প আর্গুমেন্ট প্রসেস করে, প্রতিটি স্বীকৃত বিকল্পের জন্য সংশ্লিষ্ট হ্যান্ডলার ফাংশনকে কল করে। সব বিকল্প পার্স করা হয়ে গেলে, বাকি থাকা আর্গুমেন্ট প্রসেস করার জন্য একটি আলাদা নন-অপশন হ্যান্ডলার ফাংশন (nonOptArgHandler) একবার কল করা হয়।

বিকল্পের সেট

OptionSet-এ বিকল্পের সংজ্ঞার সেট থাকে এবং এর সাথে হ্যান্ডলার ফাংশনের পয়েন্টার থাকে যা সংশ্লিষ্ট বিকল্পের মধ্যে কোনও একটির সম্মুখীন হলে কল করা হবে। এছাড়াও, বিকল্প সেটে প্রতিটি বিকল্পের সিনট্যাক্স ও উদ্দেশ্য বর্ণনা করে এমন সহায়তা টেক্সট থাকে (নিচে বিকল্প সংক্রান্ত সহায়তা দেখুন)। সম্পর্কিত বিকল্পের আবার ব্যবহারযোগ্য সংগ্রহ তৈরি করার জন্য বিকল্প সেট ডিজাইন করা হয়েছে। এটি একই ধরনের বিকল্প (যেমন, টেস্ট অ্যাপ্লিকেশন) গ্রহণ করে এমন একাধিক অ্যাপ্লিকেশন বজায় রাখার জন্য প্রয়োজনীয় পরিশ্রমকে সহজ করে তোলে।

OptionSet সংজ্ঞায়িত করার জন্য দুটি প্যাটার্ন আছে, কেউ OptionSet স্ট্রাক্টের ইনস্ট্যান্স নিজেই শুরু করতে পারেন, যেমন স্ট্যাটিক গ্লোবাল হিসেবে অথবা OptionSetBase সাবক্লাস হিসেবে এবং কনস্ট্রাক্টর প্রদান করতে পারেন। পরেরটি সাবক্লাসে বিকল্প হ্যান্ডলিং ডেলিগেট করার জন্য একটি পিওর ভার্চুয়াল HandleOption() ফাংশন ব্যবহার করে।

OptionSets-এর তালিকা ParseArgs() ফাংশনে NULL-টার্মিনেটেড পয়েন্টার অ্যারে হিসেবে পাস করা হয়। E.g.:

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 নামের ফিল্ড দ্বারা চিহ্নিত করা হয়। E.g.:

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 ফাংশন)। বিকল্প আইডিগুলি যে OptionSet-এ দেখা যায় তার সাথে সম্পর্কিত এবং তাই বিভিন্ন OptionSet জুড়ে আবার ব্যবহার করা যেতে পারে (তবে নিচে সংক্ষিপ্ত বিকল্পগুলি দেখুন)। সাধারণত বিকল্পের আইডি ১০০০ থেকে শুরু হয়, তবে ১২৮-এর বেশি যেকোনও সংখ্যা ব্যবহার করা যেতে পারে। একই বিকল্প আইডি সহ বিভিন্ন বিকল্পের নাম ব্যবহার করে উপনাম বিকল্প তৈরি করা যেতে পারে।

SHORT বিকল্প

getopt_long(3)-এর মতো, ParseArgs() ছোট বিকল্প অক্ষরের তালিকা উল্লেখ করে আলাদা স্ট্রিং নেয় না। বরং, এমন যেকোনও বিকল্প যার আইডি ভ্যালু গ্রাফিক্যাল ASCII অক্ষরের রেঞ্জের মধ্যে পড়ে, সেটি ওই অক্ষরকে শর্ট বিকল্প হিসেবে ব্যবহার করার অনুমতি দেবে।

ParseArgs()-এর জন্য সব OptionSets জুড়ে সংক্ষিপ্ত বিকল্প অক্ষর অনন্য হতে হবে। এই কারণে, প্রোগ্রাম জুড়ে শেয়ার করা যেকোনও OptionSets-এর জন্য সংক্ষিপ্ত বিকল্পের ব্যবহারকে নিরুৎসাহিত করা হয় কারণ এতে সংঘর্ষের সম্ভাবনা অনেক বেশি থাকে। বিকল্পের সংক্ষিপ্ত নামগুলি একটি OptionSet-এর মধ্যে আবার ব্যবহার করা যেতে পারে যাতে বিকল্পের দীর্ঘ নামগুলি তৈরি করা যায়।

বিকল্প সংক্রান্ত সহায়তা

প্রতিটি OptionSet-এ একটি OptionHelp স্ট্রিং থাকে যা সংশ্লিষ্ট বিকল্পের উদ্দেশ্য এবং সিনট্যাক্স বর্ণনা করে। এই স্ট্রিংগুলি PrintOptionHelp() ফাংশন দ্বারা বিকল্প ব্যবহারের তথ্য তৈরি করতে ব্যবহৃত হয়।

প্রথাগতভাবে, বিকল্পের সহায়তা স্ট্রিংয়ে সিনট্যাক্সের উদাহরণ থাকে এবং তারপরে বিকল্পের টেক্সট বিবরণ থাকে। বিকল্পের কোনও সংক্ষিপ্ত ভার্সন বা উপনাম থাকলে, সেটি প্রাথমিক দীর্ঘ নামের আগে দেওয়া হয়। সামঞ্জস্য বজায় রাখার জন্য, সিনট্যাক্স লাইনে ২টি স্পেস এবং বিবরণের লাইনে ৭টি স্পেস দিয়ে ইন্ডেন্ট করা হয়। শেষেরটি সহ প্রতিটি বিকল্পের বিবরণের পরে একটি খালি লাইন থাকে।

E.g.:

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";

সহায়তা গোষ্ঠীর বিকল্প

OptionSets-এ একটি HelpGroupName স্ট্রিং থাকে যা সহায়তা আউটপুটে বিকল্পগুলিকে একসাথে গ্রুপ করতে ব্যবহৃত হয়। PrintOptionHelp() ফাংশনটি তৈরি করা ব্যবহার আউটপুটে একটি বিভাগ শিরোনাম হিসাবে HelpGroupName ব্যবহার করে। একাধিক OptionSets-এর একই HelpGroupName থাকলে, PrintOptionHelp() একটি সাধারণ বিভাগের শিরোনামের অধীনে বিভিন্ন OptionSets-এর জন্য একসাথে বিকল্প সহায়তা প্রিন্ট করবে।

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()-এ ভ্যালু পাস করে। এনভায়রনমেন্ট ভেরিয়েবল সেট করা না থাকলে, ফাংশনটি কোনও কাজ করে না।

বিবরণ
প্যারামিটারগুলি
[in] progName
প্রোগ্রাম বা প্রসঙ্গের নাম যেখানে আর্গুমেন্ট পার্স করা হচ্ছে। This string will be used to prefix error messages and warnings.
[in] varName
এনভায়রনমেন্ট ভেরিয়েবলের নাম।
[in] optSets
OptionSet স্ট্রাকচারের পয়েন্টারের তালিকা যা আইনি বিকল্পকে সংজ্ঞায়িত করে। প্রদান করা তালিকাটি অবশ্যই NULL দিয়ে শেষ হতে হবে।
[in] nonOptArgHandler
একটি ফাংশনের পয়েন্টার যা বিকল্প পার্সিং সম্পূর্ণ হলে বাকি থাকা বিকল্প নয় এমন আর্গুমেন্ট সহ কল করা হবে। কোনও আর্গুমেন্ট বাকি থাকুক বা না থাকুক, ফাংশনটি কল করা হয়। NULL পাস করা হলে, কোনও বিকল্প নয় এমন আর্গুমেন্ট থাকলে ParseArgs() একটি ত্রুটি রিপোর্ট করবে।
[in] ignoreUnknown
ট্রু হলে, কোনও অজানা বিকল্পকে নীরবে উপেক্ষা করুন।
ফেরত
true যদি সব বিকল্প এবং বিকল্প নয় এমন আর্গুমেন্ট সফলভাবে পার্স করা হয় অথবা নির্দিষ্ট এনভায়রনমেন্ট ভেরিয়েবল সেট করা না থাকে; 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
)

ParseArgsFromString

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

প্রদত্ত স্ট্রিং থেকে আর্গুমেন্টের সেট পার্স করুন।

ParseArgsFromString() প্রদত্ত স্ট্রিংকে (argStr) আর্গুমেন্টের সেটে বিভক্ত করে এবং ParseArgs() ফাংশন ব্যবহার করে আর্গুমেন্ট পার্স করে।

বিবরণ
প্যারামিটারগুলি
[in] progName
প্রোগ্রাম বা প্রসঙ্গের নাম যেখানে আর্গুমেন্ট পার্স করা হচ্ছে। This string will be used to prefix error messages and warnings.
[in] argStr
পার্স করার জন্য বিকল্প ও আর্গুমেন্ট সহ স্ট্রিং।
[in] optSets
OptionSet স্ট্রাকচারের পয়েন্টারের তালিকা যা আইনি বিকল্পগুলি নির্ধারণ করে। প্রদান করা তালিকাটি অবশ্যই NULL দিয়ে শেষ হতে হবে।
[in] nonOptArgHandler
একটি ফাংশনের পয়েন্টার যা বিকল্প পার্সিং সম্পূর্ণ হলে বাকি থাকা বিকল্প নয় এমন আর্গুমেন্ট সহ কল করা হবে। কোনও আর্গুমেন্ট বাকি থাকুক বা না থাকুক, ফাংশনটি কল করা হয়। NULL পাস করা হলে, কোনও বিকল্প নয় এমন আর্গুমেন্ট থাকলে ParseArgs() একটি ত্রুটি রিপোর্ট করবে।
[in] ignoreUnknown
ট্রু হলে, কোনও অজানা বিকল্পকে নীরবে উপেক্ষা করুন।
ফেরত
true যদি সব বিকল্প এবং বিকল্প নয় এমন আর্গুমেন্ট সফলভাবে পার্স করা হয়; false যদি কোনও বিকল্প শনাক্ত করা না যায়, যদি কোনও হ্যান্ডলার ফাংশন কাজ না করে (অর্থাৎ, ফলস রিটার্ন করে) অথবা যদি কোনও ইন্টার্নাল সমস্যা হয়।

ইনপুট স্ট্রিংয়ের সিনট্যাক্স ইউনিক্স শেল কমান্ড সিনট্যাক্সের মতো, তবে এতে উদ্ধৃতি দেওয়ার পদ্ধতি আরও সহজ। বিশেষত:

  • হোয়াইটস্পেস কোট করা বা এড়িয়ে যাওয়া না হলে, আর্গুমেন্ট হোয়াইটস্পেস দ্বারা সীমাবদ্ধ করা হয়।
  • ব্যাকস্ল্যাশ পরের অক্ষরকে এড়িয়ে যায়, যার ফলে এটি সাধারণ অক্ষর হিসেবে বিবেচিত হয়। ব্যাকস্ল্যাশটি নিজেই স্ট্রিপ করা হয়েছে।
  • সিঙ্গেল বা ডবল কোটেশন দিয়ে কোট করা সাবস্ট্রিং শুরু/শেষ হয়। সাবস্ট্রিংয়ের মধ্যে, একমাত্র বিশেষ অক্ষর হল ব্যাকস্ল্যাশ, যা পরবর্তী অক্ষর এবং সংশ্লিষ্ট এন্ড কোটকে এড়িয়ে যায়। শুরু/শেষের উদ্ধৃতি চিহ্ন বাদ দেওয়া হয়েছে।

E.g.:

--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
)

বুলিয়ান ভ্যালু হিসেবে স্ট্রিং পার্স করুন।

এই ফাংশন নিম্নলিখিত ইনপুট ভ্যালু গ্রহণ করে (কেস-ইনসেনসিটিভ): "true", "yes", "t", "y", "1", "false", "no", "f", "n", "0"।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার ভ্যালু দেখায়।
[out] output
বুলিয়ানের জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseFabricId

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

টেক্সট ফর্মে Weave ফ্যাব্রিক আইডি পার্স করুন।

ParseFabricId() ফাংশন হেক্স ফর্ম্যাটে দেওয়া ৬৪-বিট ফ্যাব্রিক আইডি গ্রহণ করে, যার শুরুতে '0x' থাকতেও পারে, নাও থাকতে পারে।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যাতে পার্স করার জন্য ফ্যাব্রিক আইডি থাকে।
[out] output
uint64_t lvalue-এর একটি রেফারেন্স যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
[in] allowReserved
ট্রু হলে, রিজার্ভ করা রেঞ্জে ফেব্রিক আইডি পার্স করার অনুমতি দিন।
ফেরত
ভ্যালু সফলভাবে পার্স করা হলে true; না হলে false।

ParseHexString

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

হেক্স ফর্মে দেওয়া বাইটের স্ট্রিং পার্স করুন।

ParseHexString() আশা করে যে ইনপুট হেক্স ডিজিটের (বড় বা ছোট হাতের অক্ষর) জোড়ার আকারে হবে। হেক্স পেয়ার ঐচ্ছিকভাবে নিম্নলিখিত যেকোনও অক্ষর দ্বারা আলাদা করা যেতে পারে: কোলন, সেমিকোলন, কমা, পিরিয়ড বা ড্যাশ। এছাড়াও, ইনপুট স্ট্রিংয়ের যেকোনও জায়গায় হোয়াইটস্পেস অক্ষর থাকলে তা উপেক্ষা করা হয়।

বিবরণ
প্যারামিটারগুলি
[in] hexStr
পার্স করার জন্য স্ট্রিংয়ের একটি পয়েন্টার।
[in] strLen
পার্স করার জন্য hexStr-এ অক্ষরের সংখ্যা।
[in] outBuf
একটি বাফারের পয়েন্টার যেখানে পার্স বাইট স্টোর করা হবে।
[in] outBufSize
outBuf-এর মাধ্যমে নির্দেশ করা বাফারের সাইজ।
[out] outDataLen
একটি পূর্ণসংখ্যার রেফারেন্স যা পার্স করা মোট বাইটের সংখ্যা পাবে। প্রদত্ত বাইটের সংখ্যা ধরে রাখার জন্য outBuf যথেষ্ট বড় না হলে, outDataLen-কে UINT32_MAX-এ সেট করা হবে।
ফেরত
ভ্যালু সঠিকভাবে পার্স করা হলে true; ইনপুট ডেটা ভুলভাবে ফর্ম্যাট করা হলে অথবা outBuf খুব ছোট হলে false।

ParseIPAddress

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

টেক্সট ফর্মে IP অ্যাড্রেস পার্স করুন।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যাতে পার্স করার জন্য অ্যাড্রেস থাকে।
[out] output
IPAddress অবজেক্টের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
ভ্যালু সফলভাবে পার্স করা হলে true; না হলে false।

ParseInt

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

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, স্ট্রিং পার্স করে ৬৪-বিট আনসাইনড ইন্টিজারে পরিবর্তন করার চেষ্টা করুন।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার জন্য পূর্ণসংখ্যাকে দেখায়।
[out] output
৬৪-বিট আনসাইনড ইন্টিজারের জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
[in] base
যে বেস অনুযায়ী স্ট্রিং ব্যাখ্যা ও পার্স করা হবে। ০ বা ১৬ হলে, স্ট্রিংটি হেক্সাডেসিমাল হতে পারে এবং "0x" দিয়ে শুরু হতে পারে। অন্যথায়, ০-কে ১০ হিসেবে ধরা হয়, তবে প্রথমে ০ থাকলে সেটিকে ৮ হিসেবে ধরা হয়।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseInt

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

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, স্ট্রিং পার্স করে ৩২-বিট আনসাইনড ইন্টিজারে পরিবর্তন করার চেষ্টা করে।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার জন্য পূর্ণসংখ্যাকে দেখায়।
[out] output
৩২-বিট আনসাইনড ইন্টিজারের জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
[in] base
যে বেস অনুযায়ী স্ট্রিং ব্যাখ্যা ও পার্স করা হবে। ০ বা ১৬ হলে, স্ট্রিংটি হেক্সাডেসিমাল হতে পারে এবং "0x" দিয়ে শুরু হতে পারে। অন্যথায়, ০-কে ১০ হিসেবে ধরা হয়, তবে প্রথমে ০ থাকলে সেটিকে ৮ হিসেবে ধরা হয়।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseInt

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

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, স্ট্রিং পার্স করে ৩২-বিট সাইনড ইন্টিজারে কনভার্ট করার চেষ্টা করে।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার জন্য পূর্ণসংখ্যাকে দেখায়।
[out] output
৩২-বিট সাইন করা পূর্ণসংখ্যার জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
[in] base
যে বেস অনুযায়ী স্ট্রিং ব্যাখ্যা ও পার্স করা হবে। ০ বা ১৬ হলে, স্ট্রিংটি হেক্সাডেসিমাল হতে পারে এবং "0x" দিয়ে শুরু হতে পারে। অন্যথায়, ০-কে ১০ হিসেবে ধরা হয়, তবে প্রথমে ০ থাকলে সেটিকে ৮ হিসেবে ধরা হয়।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseInt

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

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক মান হিসেবে ব্যাখ্যা করা স্ট্রিংকে ৬৪-বিট আনসাইনড ইন্টিজারে পার্স ও কনভার্ট করার চেষ্টা করুন।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার জন্য পূর্ণসংখ্যাকে দেখায়।
[out] output
৬৪-বিট আনসাইনড ইন্টিজারের জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseInt

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

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক মান হিসেবে ব্যাখ্যা করা স্ট্রিংকে ৩২-বিট আনসাইনড ইন্টিজারে পার্স ও কনভার্ট করার চেষ্টা করুন।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার জন্য পূর্ণসংখ্যাকে দেখায়।
[out] output
৩২-বিট আনসাইনড ইন্টিজারের জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseInt

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

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক ভ্যালু হিসেবে ব্যাখ্যা করা স্ট্রিংকে পার্স করে ৩২-বিট সাইনড ইন্টিজারে কনভার্ট করার চেষ্টা করুন।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার জন্য পূর্ণসংখ্যাকে দেখায়।
[out] output
৩২-বিট সাইন করা পূর্ণসংখ্যার জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseInt

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

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ইন্টারপ্রিটেশন প্রয়োগ করে, দশমিক ভ্যালু হিসেবে ইন্টারপ্রিট করা স্ট্রিংকে পার্স করে ১৬-বিট আনসাইনড ইন্টিজারে কনভার্ট করার চেষ্টা করুন।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার জন্য পূর্ণসংখ্যাকে দেখায়।
[out] output
১৬-বিট আনসাইনড ইন্টিজারের জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseInt

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

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক মান হিসেবে ব্যাখ্যা করা স্ট্রিংকে ১৬-বিট সাইনড ইন্টিজারে পার্স ও কনভার্ট করার চেষ্টা করুন।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার জন্য পূর্ণসংখ্যাকে দেখায়।
[out] output
১৬-বিট সাইন করা ইন্টিজারের জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseInt

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

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যা প্রয়োগ করে, দশমিক মান হিসেবে ব্যাখ্যা করা স্ট্রিংকে ৮-বিট আনসাইনড ইন্টিজারে পার্স ও কনভার্ট করার চেষ্টা করুন।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা পার্স করার জন্য পূর্ণসংখ্যাকে দেখায়।
[out] output
৮-বিট আনসাইনড ইন্টিজারের জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

ParseNodeId

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

টেক্সট ফর্মে Weave নোড আইডি পার্স করুন।

ParseNodeId() ফাংশন হেক্স ফর্ম্যাটে (প্রথমে '0x' সহ বা ছাড়া) দেওয়া ৬৪-বিট নোড আইডি অথবা 'any' বা 'all' শব্দ গ্রহণ করে, যার অর্থ হল যেকোনও নোড আইডি (0xFFFFFFFFFFFFFFFF)।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যাতে পার্স করার জন্য নোড আইডি থাকে।
[out] output
uint64_t lvalue-এর একটি রেফারেন্স যেখানে পার্স করা ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
ভ্যালু সফলভাবে পার্স করা হলে true; না হলে false।

ParseSubnetId

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

স্ট্রিংকে হেক্সাডেসিমাল হিসেবে ব্যাখ্যা করে, পার্স করুন এবং ১৬-বিট আনসাইনড সাবনেট আইডিতে কনভার্ট করার চেষ্টা করুন।

বিবরণ
প্যারামিটারগুলি
[in] str
NULL-টার্মিনেটেড C স্ট্রিংয়ের একটি পয়েন্টার যা সাবনেট আইডিকে উপস্থাপন করে, পার্স করার জন্য হেক্সাডেসিমেল হিসেবে ফর্ম্যাট করা হয়েছে।
[in,out] subnetId
১৬-বিট আনসাইনড ইন্টিজারের জন্য স্টোরেজের রেফারেন্স, যেখানে পার্স করা সাবনেট আইডি ভ্যালু সফলভাবে স্টোর করা হবে।
ফেরত
সফল হলে true; অন্যথায়, ব্যর্থ হলে false।

PrintOptionHelp

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

একটি স্ট্রিমে বিকল্পের নির্দিষ্ট তালিকার জন্য সহায়তা টেক্সট প্রিন্ট করুন।

বিবরণ
প্যারামিটারগুলি
[in] optSets
OptionSet স্ট্রাকচারের পয়েন্টারের তালিকা যাতে প্রিন্ট করার জন্য সহায়তা টেক্সট আছে।
[in] s
সহায়তা টেক্সট যে FILE স্ট্রিমে প্রিন্ট করা হবে।

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
)