| /* |
| * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. |
| * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. |
| * |
| * This file is part of LVM2. |
| * |
| * This copyrighted material is made available to anyone wishing to use, |
| * modify, copy, or redistribute it subject to the terms and conditions |
| * of the GNU Lesser General Public License v.2.1. |
| * |
| * You should have received a copy of the GNU Lesser General Public License |
| * along with this program; if not, write to the Free Software Foundation, |
| * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| */ |
| |
| #ifndef _LVM_STRING_H |
| #define _LVM_STRING_H |
| |
| #define NAME_LEN 128 |
| #define UUID_PREFIX "LVM-" |
| |
| #include <sys/types.h> |
| |
| struct dm_pool; |
| struct pool; |
| struct logical_volume; |
| |
| typedef enum name_error { |
| NAME_VALID = 0, |
| NAME_INVALID_EMPTY = -1, |
| NAME_INVALID_HYPHEN = -2, |
| NAME_INVALID_DOTS = -3, |
| NAME_INVALID_CHARSET = -4, |
| NAME_INVALID_LENGTH = -5 |
| } name_error_t; |
| |
| int emit_to_buffer(char **buffer, size_t *size, const char *fmt, ...) |
| __attribute__ ((format(printf, 3, 4))); |
| |
| char *build_dm_uuid(struct dm_pool *mem, const struct logical_volume *lvid, |
| const char *layer); |
| |
| int validate_name(const char *n); |
| name_error_t validate_name_detailed(const char *n); |
| int validate_tag(const char *n); |
| |
| void copy_systemid_chars(const char *src, char *dst); |
| |
| int apply_lvname_restrictions(const char *name); |
| int is_reserved_lvname(const char *name); |
| |
| #endif |