home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------------ */
- /* LWINFO.C */
- /* Routine wertet den Bootsektor aus */
- /* (C) 1991 Michael Gruteser & TOOLBOX */
- /* ------------------------------------------------------ */
- #include <dos.h>
-
- #define ROUTINEN 1
-
- #include "lwinfo.h"
-
- #define READINT(x) ((buffer[x+1] << 8) + buffer[x])
-
-
- int get_bootsecinfo(int lw, bootsec_info_t *info) {
-
- int error;
- int i;
- unsigned char buffer[1024];
- char *ptr;
-
- error = absread (lw,1,0,buffer);
- if (error != 0) {
- return(error);
- }
- for (ptr = info->hersteller,i=3;i<11;i++,ptr++) {
- *ptr = buffer[i];
- }
- info->hersteller[8] = '\0';
- info->bytes_pro_sektor = READINT(0x0b);
- info->sektoren_pro_cluster = (short) buffer[0x0d];
- info->reservierte_sektoren = READINT(0x0e);
- info->fat_anzahl = (short) buffer[0x10];
- info->root_dir_eintraege = READINT(0x11);
- info->sektorenanzahl = READINT(0x13);
- info->sektoren_pro_fat = READINT(0x16);
- info->seiten = (short) buffer[0x1A];
- info->versteckte_sektoren = READINT(0x1C);
- info->mediadescriptor = (short) buffer[0x15];
- info->sektoren_pro_spur = READINT (0x18);
- return(error);
- }
-
- /* ------------------------------------------------------ */
- /* Ende von LWINFO.C */