diff options
Diffstat (limited to 'sys/arch/amiga/stand/device-streams/getdevices.h')
-rw-r--r-- | sys/arch/amiga/stand/device-streams/getdevices.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/sys/arch/amiga/stand/device-streams/getdevices.h b/sys/arch/amiga/stand/device-streams/getdevices.h new file mode 100644 index 00000000000..237d86aef08 --- /dev/null +++ b/sys/arch/amiga/stand/device-streams/getdevices.h @@ -0,0 +1,80 @@ +/* -------------------------------------------------- + | NAME + | getdevices + | PURPOSE + | header for getdevices.c + | NOTES + | + | COPYRIGHT + | Copyright (C) 1993 Christian E. Hopps + | + | 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., 675 Mass Ave, Cambridge, MA 02139, USA. + | + | HISTORY + | chopps - Oct 9, 1993: Created. + +--------------------------------------------------- */ + +#if ! defined (_GETDEVICES_H) +#define _GETDEVICES_H + +#include "util.h" +#include "devices.h" +#include <devices/hardblocks.h> + +struct device { + struct Node node; + struct List units; + char *name; /* name of exec device. */ + +}; + +/* structure that holds all info on this paticular unit for an exec device. */ +struct unit { + struct Node node; + struct List parts; + struct RigidDiskBlock *rdb; + char *name; /* just a pointer to the */ + /* lists data. */ + ulong rdb_at; /* what block the rdb is at. */ + ulong unit; /* unit number of drive. */ + ulong flags; /* unit number of drive. */ + ulong total_blocks; /* total blocks on drive. */ + ulong cylinders; /* number of cylinders. */ + ulong heads; /* number of heads. */ + ulong blocks_per_track; /* number of blocks per head */ + /* per cylinder. */ + ulong bytes_per_block; /* number of bytes per block. */ +}; + +struct partition { + struct Node node; + struct unit *unit; /* back pointer. */ + struct PartitionBlock pb; /* partition block. */ + char *name; /* name of the partition. */ + ulong start_block; /* block that partition */ + /* starts on. */ + ulong end_block; /* block that partition ends */ + /* on. */ + ulong total_blocks; /* total number of blocks for */ + /* this partition (e-s+1) */ + ulong block_size; /* size of blocks for this partition. */ +}; + +struct List * get_drive_list (void); +void free_drive_list (struct List *l); +int add_name_to_drive_list (struct List *l, char *dev_name); +char * get_hard_drive_device_name (struct DosList *dl); + +#endif /* _GETDEVICES_H */ |