/* * 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. */ #ifndef VOLD_H__ #define VOLD_H__ #define LOG_TAG "vold" #include "cutils/log.h" typedef int boolean; enum { false = 0, true = 1 }; #define DEVPATH "/dev/block/" #define DEVPATHLENGTH 11 #define WEXITSTATUS(status) (((status) & 0xff00) >> 8) // Set this for logging error messages #define ENABLE_LOG_ERROR // set this to log vold events #define ENABLE_LOG_VOL #ifdef ENABLE_LOG_ERROR #define LOG_ERROR(fmt, args...) \ { LOGE(fmt , ## args); } #else #define LOG_ERROR(fmt, args...) \ do { } while (0) #endif /* ENABLE_LOG_ERROR */ #ifdef ENABLE_LOG_VOL #define LOG_VOL(fmt, args...) \ { LOGD(fmt , ## args); } #else #define LOG_VOL(fmt, args...) \ do { } while (0) #endif /* ENABLE_LOG_VOL */ #ifdef ENABLE_LOG_SERVER #define LOG_SERVER(fmt, args...) \ { LOGD(fmt , ## args); } #else #define LOG_SERVER(fmt, args...) \ do { } while (0) #endif /* ENABLE_LOG_SERVER */ #ifdef ENABLE_LOG_ASEC #define LOG_ASEC(fmt, args...) \ { LOGD(fmt , ## args); } #else #define LOG_ASEC(fmt, args...) \ do { } while (0) #endif /* ENABLE_LOG_ASEC */ /* * Prototypes */ int process_framework_command(int socket); int process_inotify_event(int fd); int inotify_bootstrap(void); int process_uevent_message(int socket); int simulate_uevent(char *subsystem, char *path, char *action, char **params); int mmc_bootstrap(void); int ums_bootstrap(void); int volmgr_bootstrap(void); int switch_bootstrap(void); void *read_file(char *filename, ssize_t *_size); char *truncate_sysfs_path(char *path, int num_elements_to_remove, char *buffer, int buffer_size); char *read_sysfs_var(char *buffer, size_t maxlen, char *devpath, char *var); void ums_hostconnected_set(boolean connected); boolean ums_hostconnected_get(void); int send_msg(char *msg); int send_msg_with_data(char *msg, char *data); extern int bootstrap; #endif