diff options
Diffstat (limited to 'VNFs/UDP_Replay/parse_obj_list.c')
-rw-r--r-- | VNFs/UDP_Replay/parse_obj_list.c | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/VNFs/UDP_Replay/parse_obj_list.c b/VNFs/UDP_Replay/parse_obj_list.c deleted file mode 100644 index a8100d19..00000000 --- a/VNFs/UDP_Replay/parse_obj_list.c +++ /dev/null @@ -1,149 +0,0 @@ -/* -// Copyright (c) 2016-2017 Intel Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -/* - * Copyright (c) 2009, Olivier MATZ <zer0@droids-corp.org> - * All rights reserved. - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the University of California, Berkeley nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <stdio.h> -#include <inttypes.h> -#include <stdarg.h> -#include <errno.h> -#include <ctype.h> -#include <string.h> -#include <netinet/in.h> - -#include <cmdline_parse.h> -#include <cmdline_parse_ipaddr.h> - -#include <rte_string_fns.h> - -#include "parse_obj_list.h" - -/* This file is an example of extension of libcmdline. It provides an - * example of objects stored in a list. */ - -struct cmdline_token_ops token_obj_list_ops = { - .parse = parse_obj_list, - .complete_get_nb = complete_get_nb_obj_list, - .complete_get_elt = complete_get_elt_obj_list, - .get_help = get_help_obj_list, -}; - -int -parse_obj_list(cmdline_parse_token_hdr_t *tk, const char *buf, void *res, - unsigned ressize) -{ - struct token_obj_list *tk2 = (struct token_obj_list *)tk; - struct token_obj_list_data *tkd = &tk2->obj_list_data; - struct object *o; - unsigned int token_len = 0; - - if (*buf == 0) - return -1; - - if (res && ressize < sizeof(struct object *)) - return -1; - - while(!cmdline_isendoftoken(buf[token_len])) - token_len++; - - SLIST_FOREACH(o, tkd->list, next) { - if (token_len != strnlen(o->name, OBJ_NAME_LEN_MAX)) - continue; - if (strncmp(buf, o->name, token_len)) - continue; - break; - } - if (!o) /* not found */ - return -1; - - /* store the address of object in structure */ - if (res) - *(struct object **)res = o; - - return token_len; -} - -int complete_get_nb_obj_list(cmdline_parse_token_hdr_t *tk) -{ - struct token_obj_list *tk2 = (struct token_obj_list *)tk; - struct token_obj_list_data *tkd = &tk2->obj_list_data; - struct object *o; - int ret = 0; - - SLIST_FOREACH(o, tkd->list, next) { - ret ++; - } - return ret; -} - -int complete_get_elt_obj_list(cmdline_parse_token_hdr_t *tk, - int idx, char *dstbuf, unsigned int size) -{ - struct token_obj_list *tk2 = (struct token_obj_list *)tk; - struct token_obj_list_data *tkd = &tk2->obj_list_data; - struct object *o; - int i = 0; - unsigned len; - - SLIST_FOREACH(o, tkd->list, next) { - if (i++ == idx) - break; - } - if (!o) - return -1; - - len = strnlen(o->name, OBJ_NAME_LEN_MAX); - if ((len + 1) > size) - return -1; - - if (dstbuf) - snprintf(dstbuf, size, "%s", o->name); - - return 0; -} - - -int get_help_obj_list(__attribute__((unused)) cmdline_parse_token_hdr_t *tk, - char *dstbuf, unsigned int size) -{ - snprintf(dstbuf, size, "Obj-List"); - return 0; -} |