diff --git a/init/list.h b/include/cutils/list.h similarity index 96% rename from init/list.h rename to include/cutils/list.h index 7b9ef32fa..eb5a3c84a 100644 --- a/init/list.h +++ b/include/cutils/list.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef _INIT_LIST_H_ -#define _INIT_LIST_H_ +#ifndef _CUTILS_LIST_H_ +#define _CUTILS_LIST_H_ #include diff --git a/init/devices.c b/init/devices.c index 43d0ca368..a2f84aa3c 100644 --- a/init/devices.c +++ b/init/devices.c @@ -34,12 +34,12 @@ #include #include +#include #include #include "devices.h" #include "util.h" #include "log.h" -#include "list.h" #define SYSFS_PREFIX "/sys" #define FIRMWARE_DIR1 "/etc/firmware" diff --git a/init/init.c b/init/init.c index 53b8aa508..eab14f6f4 100755 --- a/init/init.c +++ b/init/init.c @@ -33,6 +33,7 @@ #include #include +#include #include #include #include @@ -42,7 +43,6 @@ #include "devices.h" #include "init.h" -#include "list.h" #include "log.h" #include "property_service.h" #include "bootchart.h" diff --git a/init/init.h b/init/init.h index 05cdfaa96..2d98c7cd7 100644 --- a/init/init.h +++ b/init/init.h @@ -17,7 +17,7 @@ #ifndef _INIT_INIT_H #define _INIT_INIT_H -#include "list.h" +#include #include diff --git a/init/init_parser.c b/init/init_parser.c index d9d308420..fa813b9a9 100644 --- a/init/init_parser.c +++ b/init/init_parser.c @@ -27,11 +27,11 @@ #include "parser.h" #include "init_parser.h" #include "log.h" -#include "list.h" #include "property_service.h" #include "util.h" #include +#include #define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ #include diff --git a/init/parser.c b/init/parser.c index 3c2ec00b4..48e7aec23 100644 --- a/init/parser.c +++ b/init/parser.c @@ -3,7 +3,6 @@ #include #include "parser.h" -#include "list.h" #include "log.h" #define RAW(x...) log_write(6, x) diff --git a/init/signal_handler.c b/init/signal_handler.c index f89d05821..b17013256 100644 --- a/init/signal_handler.c +++ b/init/signal_handler.c @@ -24,9 +24,9 @@ #include #include #include +#include #include "init.h" -#include "list.h" #include "util.h" #include "log.h" diff --git a/init/ueventd_parser.c b/init/ueventd_parser.c index 0dd8b4ddd..3e60df5b8 100644 --- a/init/ueventd_parser.c +++ b/init/ueventd_parser.c @@ -22,7 +22,6 @@ #include "ueventd_parser.h" #include "parser.h" #include "log.h" -#include "list.h" #include "util.h" static void parse_line_device(struct parse_state *state, int nargs, char **args); diff --git a/init/util.c b/init/util.c index bc24b089d..fd4bee20f 100755 --- a/init/util.c +++ b/init/util.c @@ -34,7 +34,6 @@ #include #include "log.h" -#include "list.h" #include "util.h" /* @@ -156,26 +155,6 @@ oops: return 0; } -void list_init(struct listnode *node) -{ - node->next = node; - node->prev = node; -} - -void list_add_tail(struct listnode *head, struct listnode *item) -{ - item->next = head; - item->prev = head->prev; - head->prev->next = item; - head->prev = item; -} - -void list_remove(struct listnode *item) -{ - item->next->prev = item->prev; - item->prev->next = item->next; -} - #define MAX_MTD_PARTITIONS 16 static struct { diff --git a/libcutils/Android.mk b/libcutils/Android.mk index e183521db..3405deef2 100644 --- a/libcutils/Android.mk +++ b/libcutils/Android.mk @@ -40,6 +40,7 @@ commonSources := \ cpu_info.c \ load_file.c \ klog.c \ + list.c \ open_memstream.c \ strdup16to8.c \ strdup8to16.c \ diff --git a/libcutils/list.c b/libcutils/list.c new file mode 100644 index 000000000..e13452d47 --- /dev/null +++ b/libcutils/list.c @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * 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 + +void list_init(struct listnode *node) +{ + node->next = node; + node->prev = node; +} + +void list_add_tail(struct listnode *head, struct listnode *item) +{ + item->next = head; + item->prev = head->prev; + head->prev->next = item; + head->prev = item; +} + +void list_remove(struct listnode *item) +{ + item->next->prev = item->prev; + item->prev->next = item->next; +}