*
* Copyright (C) 2005 Kay Sievers <kay.sievers@vrfy.org>
*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * 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 version 2 of the License.
*/
#ifndef _VOLUME_ID_H_
#define _VOLUME_ID_H_
-#define VOLUME_ID_VERSION 45
+#include <stdint.h>
+
+#define VOLUME_ID_VERSION 50
#define VOLUME_ID_LABEL_SIZE 64
#define VOLUME_ID_UUID_SIZE 36
enum volume_id_usage usage_id;
char *usage;
char *type;
- unsigned long long off;
- unsigned long long len;
- unsigned int partition_type_raw;
+ uint64_t off;
+ uint64_t len;
+ uint8_t partition_type_raw;
};
struct volume_id {
- unsigned char label_raw[VOLUME_ID_LABEL_SIZE];
- unsigned int label_raw_len;
+ uint8_t label_raw[VOLUME_ID_LABEL_SIZE];
+ size_t label_raw_len;
char label[VOLUME_ID_LABEL_SIZE+1];
- unsigned char uuid_raw[VOLUME_ID_UUID_SIZE];
- unsigned int uuid_raw_len;
+ uint8_t uuid_raw[VOLUME_ID_UUID_SIZE];
+ size_t uuid_raw_len;
char uuid[VOLUME_ID_UUID_SIZE+1];
enum volume_id_usage usage_id;
char *usage;
char type_version[VOLUME_ID_FORMAT_SIZE];
struct volume_id_partition *partitions;
- unsigned int partition_count;
+ size_t partition_count;
int fd;
- unsigned char *sbbuf;
- unsigned int sbbuf_len;
- unsigned char *seekbuf;
- unsigned long long seekbuf_off;
- unsigned int seekbuf_len;
- int fd_close;
+ uint8_t *sbbuf;
+ size_t sbbuf_len;
+ uint8_t *seekbuf;
+ uint64_t seekbuf_off;
+ size_t seekbuf_len;
+ int fd_close:1;
};
extern struct volume_id *volume_id_open_fd(int fd);
extern struct volume_id *volume_id_open_node(const char *path);
extern struct volume_id *volume_id_open_dev_t(dev_t devt);
-extern int volume_id_probe_all(struct volume_id *id, unsigned long long off, unsigned long long size);
+extern int volume_id_probe_all(struct volume_id *id, uint64_t off, uint64_t size);
extern void volume_id_close(struct volume_id *id);
#endif