1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/lib/misc/lvm-string.h
Alasdair G Kergon 0551d1c56e systemid: Require alphanumeric 1st character.
Require system ID to begin with an alphanumeric character.
Rename fn to make clear it's only validation for systemid
and always terminate result rather than imposing this on the caller.
2015-02-23 19:47:03 +00:00

53 lines
1.4 KiB
C

/*
* 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