1060ff233Sopenharmony_ci/* 2060ff233Sopenharmony_ci * Copyright (C) 2021 Huawei Device Co., Ltd. 3060ff233Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4060ff233Sopenharmony_ci * you may not use this file except in compliance with the License. 5060ff233Sopenharmony_ci * You may obtain a copy of the License at 6060ff233Sopenharmony_ci * 7060ff233Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8060ff233Sopenharmony_ci * 9060ff233Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10060ff233Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11060ff233Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12060ff233Sopenharmony_ci * See the License for the specific language governing permissions and 13060ff233Sopenharmony_ci * limitations under the License. 14060ff233Sopenharmony_ci */ 15060ff233Sopenharmony_ci 16060ff233Sopenharmony_ci#ifndef NSTACKX_GETOPT_H 17060ff233Sopenharmony_ci#define NSTACKX_GETOPT_H 18060ff233Sopenharmony_ci#include "sys_common_header.h" 19060ff233Sopenharmony_ci 20060ff233Sopenharmony_ci#ifdef __cplusplus 21060ff233Sopenharmony_ciextern "C" { 22060ff233Sopenharmony_ci#endif 23060ff233Sopenharmony_ci 24060ff233Sopenharmony_ci#define NSTACK_GETOPT_END_OF_STR (-1) 25060ff233Sopenharmony_ci#define NSTACK_GETOPT_UNKNOW_OPT '?' 26060ff233Sopenharmony_ci 27060ff233Sopenharmony_citypedef struct { 28060ff233Sopenharmony_ci int32_t argvIdx; 29060ff233Sopenharmony_ci int32_t argvOffset; 30060ff233Sopenharmony_ci const char *attachArg; 31060ff233Sopenharmony_ci} NstackGetOptMsg; 32060ff233Sopenharmony_ci 33060ff233Sopenharmony_ciNSTACKX_EXPORT int32_t NstackInitGetOptMsg(NstackGetOptMsg *optMsg); 34060ff233Sopenharmony_ciNSTACKX_EXPORT int32_t NstackGetOpt(NstackGetOptMsg *optMsg, int32_t argc, const char *const *argv, const char *opts); 35060ff233Sopenharmony_ciNSTACKX_EXPORT const char *NstackGetOptArgs(const NstackGetOptMsg *optMsg); 36060ff233Sopenharmony_ci 37060ff233Sopenharmony_ci#ifdef __cplusplus 38060ff233Sopenharmony_ci} 39060ff233Sopenharmony_ci#endif 40060ff233Sopenharmony_ci#endif /* NSTACKX_GETOPT_H */ 41060ff233Sopenharmony_ci 42