/* * Copyright (c) 2019 Stefan Strobel * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ /** * @file shellmatta_opt.c * @brief option parser implementation of the shellmatta * @author Stefan Strobel */ /** * @addtogroup shellmatta_opt * @{ */ #include "shellmatta_opt.h" #include "shellmatta_utils.h" #include "shellmatta.h" #include /** * @brief scans the current input and parses options in getopt style * @param[in] handle shellmatta handle * @param[in] optionString option string e.g. "cd:e::" * @param[out] option pointer to store the detected option to * @param[out] argument pointer to store the argument string to (can be NULL) * @param[out] argLen pointer to store the argument lengh to (can be NULL) */ shellmatta_retCode_t shellmatta_opt( shellmatta_handle_t handle, char *optionString, char *option, char **argument, uint32_t *argLen) { shellmatta_retCode_t ret = SHELLMATTA_USE_FAULT; shellmatta_instance_t *inst = (shellmatta_instance_t*)handle; /** -# check parameters for plausibility */ if( (NULL != inst) && (SHELLMATTA_MAGIC == inst->magic) && (NULL != optionString) && (NULL != option)) { } (void)argument; (void)argLen; return ret; } /** * @brief scans the current input and parses options in getopt_long style * @param[in] handle shellmatta handle * @param[in] longOptions option structure - pointer to array of type #shellmatta_opt_long_t * @param[out] option pointer to store the detected option to * @param[out] argument pointer to store the argument string to (can be NULL) * @param[out] argLen pointer to store the argument lengh to (can be NULL) */ shellmatta_retCode_t shellmatta_opt_long( shellmatta_handle_t handle, shellmatta_opt_long_t *longOptions, char *option, char **argument, uint32_t *argLen) { shellmatta_retCode_t ret = SHELLMATTA_USE_FAULT; shellmatta_instance_t *inst = (shellmatta_instance_t*)handle; /** -# check parameters for plausibility */ if( (NULL != inst) && (SHELLMATTA_MAGIC == inst->magic) && (NULL != longOptions) && (NULL != option)) { } (void)argument; (void)argLen; return ret; } /** * @brief initializes the option parser instance * @param[in, out] inst pointer to a shellmatta instance */ shellmatta_retCode_t shellmatta_opt_init(shellmatta_instance_t *inst) { /*! -# initialize all relevant option parser variables */ inst->optionParser.offset = 0u; return SHELLMATTA_OK; } /** * @} */