diff options
Diffstat (limited to 'mm_list_private.c')
-rw-r--r-- | mm_list_private.c | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/mm_list_private.c b/mm_list_private.c deleted file mode 100644 index 5eaa534..0000000 --- a/mm_list_private.c +++ /dev/null @@ -1,152 +0,0 @@ -/* - * libmm-common - * - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Jonghyuk Choi <jhchoi.choi@samsung.com> - * - * 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. - * - */ - -#include <stdlib.h> -#include <string.h> - -#include <mm_error.h> - -#include <mm_debug.h> -#include <mm_list_private.h> - -/** - * Definition of list item - */ -typedef struct { - int id; - void *data; - void *next; -} mmf_list_t; - -/** - * Globals - */ -static mmf_list_t *g_list = NULL; -static int g_list_id = 0; - -EXPORT_API -int mmf_list_append(void *data) -{ - mmf_list_t *item; - mmf_list_t *list; - - item = (mmf_list_t *) malloc(sizeof(mmf_list_t)); - - if (item == NULL) { - debug_error("memory allocation error\n"); - return MM_ERROR_OUT_OF_MEMORY; - } - - /* set new list information */ - memset(item, 0, sizeof(mmf_list_t)); - - item->id = g_list_id++; - item->data = data; - list = g_list; - - if (list == NULL) { - /* first item */ - g_list = item; - } else { - list = g_list; - - /* move to last */ - while (list->next) { - list = (mmf_list_t *) list->next; - } - list->next = item; - } - - return item->id; -} - -EXPORT_API -int mmf_list_remove(int handle) -{ - mmf_list_t *list; - mmf_list_t *prev; - - list = g_list; - prev = NULL; - - while (list) { - if (list->id == handle) { - /* remove handle */ - if (prev) { - prev->next = list->next; - } else { - g_list = list->next; - } - - free(list); - - return MM_ERROR_NONE; - } - - prev = list; - list = (mmf_list_t *) list->next; - } - - debug_error("handle not found\n"); - - return MM_ERROR_INVALID_ARGUMENT; -} - -EXPORT_API -void *mmf_list_find(int handle) -{ - mmf_list_t *list; - - list = g_list; - - while (list) { - if (list->id == handle) { - return list->data; - } - - list = (mmf_list_t *) list->next; - } - - debug_error("handle not found\n"); - - return NULL; -} - -EXPORT_API -int mmf_list_find_by_data(void *data) -{ - mmf_list_t *list; - - list = g_list; - - while (list) { - if (list->data == data) { - return list->id; - } - - list = (mmf_list_t *) list->next; - } - - debug_error("handle not found\n"); - - return -1; -} - |