X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fcryptsetup.h;h=1d16a3d0305b89f45f572b28077c10b752e1d496;hb=d67548adfe4b98dc3202646a4239abb9469b7891;hp=ceb38c113bf1cd3cd40425e238cc8694a28aaf53;hpb=93da52f883fd0d9eb61765d2ea0a94f93a53f426;p=platform%2Fupstream%2Fcryptsetup.git diff --git a/src/cryptsetup.h b/src/cryptsetup.h index ceb38c1..1d16a3d 100644 --- a/src/cryptsetup.h +++ b/src/cryptsetup.h @@ -1,14 +1,88 @@ +/* + * cryptsetup - setup cryptographic volumes for dm-crypt + * + * Copyright (C) 2004, Christophe Saout + * Copyright (C) 2004-2007, Clemens Fruhwirth + * Copyright (C) 2009-2012, Red Hat, Inc. All rights reserved. + * Copyright (C) 2009-2013, Milan Broz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + #ifndef CRYPTSETUP_H #define CRYPTSETUP_H -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "lib/nls.h" #include "lib/utils_crypt.h" #include "lib/utils_loop.h" +#include "lib/utils_fips.h" + +#include "libcryptsetup.h" +#define CONST_CAST(x) (x)(uintptr_t) #define DEFAULT_CIPHER(type) (DEFAULT_##type##_CIPHER "-" DEFAULT_##type##_MODE) +#define SECTOR_SIZE 512 +#define ROUND_SECTOR(x) (((x) + SECTOR_SIZE - 1) / SECTOR_SIZE) + +extern int opt_debug; +extern int opt_verbose; +extern int opt_batch_mode; +extern int opt_force_password; + +/* Common tools */ +void clogger(struct crypt_device *cd, int level, const char *file, int line, + const char *format, ...); +void tool_log(int level, const char *msg, void *usrptr __attribute__((unused))); +void quiet_log(int level, const char *msg, void *usrptr); + +int yesDialog(const char *msg, void *usrptr __attribute__((unused))); +void show_status(int errcode); +const char *uuid_or_device(const char *spec); +__attribute__ ((noreturn)) \ +void usage(poptContext popt_context, int exitcode, const char *error, const char *more); +void dbg_version_and_cmd(int argc, const char **argv); +int translate_errno(int r); + +extern volatile int quit; +void set_int_block(int block); +void set_int_handler(int block); +void check_signal(int *r); +int tools_signals_blocked(void); + +int tools_get_key(const char *prompt, + char **key, size_t *key_size, + size_t keyfile_offset, size_t keyfile_size_max, + const char *key_file, + int timeout, int verify, int pwquality, + struct crypt_device *cd); +/* Log */ #define log_dbg(x...) clogger(NULL, CRYPT_LOG_DEBUG, __FILE__, __LINE__, x) #define log_std(x...) clogger(NULL, CRYPT_LOG_NORMAL, __FILE__, __LINE__, x) #define log_verbose(x...) clogger(NULL, CRYPT_LOG_VERBOSE, __FILE__, __LINE__, x)