Cleanup in elf.c with .bss section clean; adm command mounts cdrom instead of floppy...
[ZeXOS.git] / kernel / include / partition.h
blob1765dddd88e621675e0ed034696efdf853f1dc6b
1 /*
2 * ZeX/OS
3 * Copyright (C) 2007 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _PARTITION_H
21 #define _PARTITION_H
23 #include <dev.h>
24 #include <fs.h>
26 /* Partition structure */
27 typedef struct partition_context {
28 struct partition_context *next, *prev;
30 char name[15];
31 unsigned char id;
32 unsigned sector_start;
33 unsigned base_io;
34 fs_t *fs;
35 } partition_t;
37 typedef struct {
38 unsigned char status;
39 unsigned char chs_f[3];
40 unsigned char type;
41 unsigned char chs_l[3];
42 unsigned lba;
43 unsigned blocks;
44 } ptable_t;
46 /* externs */
47 extern partition_t *partition_add (dev_t *dev, fs_t *fs, unsigned sector);
48 extern partition_t *partition_find (char *name);
49 extern partition_t *partition_findbydev (dev_t *dev);
50 extern unsigned partition_table (dev_t *dev);
51 extern unsigned partition_table_new (dev_t *dev, ptable_t *ntable);
52 extern unsigned int init_partition ();
54 #endif