Disk-BIOS Functions and Interrupts Handling With C data recovery disk troubleshooting programming biosdisk _bios_disk Functions BIOS disk drive services bios.h interrupt 0x13

Files Recovery Software
Home Contact Details Customer Support Download Demo Products  

 
 

Chapter – 8

Disk-BIOS Functions and Interrupts Handling With C

Introduction

In this chapter we shall discuss the important Disk-BIOS functions and other important functions which give us the freedom to uses and handle interrupts in our program with C, with the easy and short method. These functions are the back – bone of the data recovery and disk troubleshooting programming. These are the functions that make The C language a “High – level Assembly Language”.

biosdisk and _bios_disk Functions

These two functions are the most important function for our purpose of data recovery and disk troubleshooting programming. We’ll use these functions most of the time.

These two are the BIOS disk drive services and have been defined in bios.h where biosdisk operates below the level of files on raw sectors. If these functions are used even in a little bit lack of care, it can destroy the file contents and directories on a hard disk. Both biosdisk and _bios_disk functions, use interrupt 0x13 to issue disk operations directly to the BIOS. The _bios_disk function is declared in the program in the following manner:

unsigned _bios_disk(unsigned cmd, struct diskinfo_t *dinfo);

And the declaration for the bios disk function is as follows:

int biosdisk(int cmd, int drive, int head, int track,
int sector, int nsects, void *buffer);

The meaning of these parameters has been described in the following table:

Parameter

Function

What It Is or what it does

cmd

Both

Indicates the operation to perform such as read, write, verify etc.(See the description of cmd, given next)

dinfo

_bios_disk

Points to a diskinfo_t structure that contains the remaining
Parameters required by the operation.(see the description of diskinfo_t structure, given next)

drive

biosdisk

Specifies which disk drive is to be used(0 for a:, 1for b: and 0x80 for first physical hard disk, 0x81 for second and so on.)

head
track
sector


biosdisk

These specify the starting sector location from which the
Operation is to be started.

nsects

biosdisk

Number of sectors to read, write, verify etc.

buffer

biosdisk

Memory address where data is to be read or written


 

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20


page 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38

Next page

 

Chapter 7

 
Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15

 

 

Chapter 3


page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20


page 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35

 
 
 
Data Recovery Book
 
Chapter 1 An Overview of Data Recovery
Chapter 2 Introduction of Hard Disks
Chapter 3 Logical Approach to Disks and OS
Chapter 4 Number Systems
Chapter 5 Introduction of C Programming
Chapter 6 Introduction to Computer Basics
Chapter 7 Necessary DOS Commands
Chapter 8 Disk-BIOS Functions and Interrupts Handling With C
Chapter 9 Handling Large Hard Disks
Chapter 10 Data Recovery From Corrupted Floppy
Chapter 11 Making Backups
Chapter 12 Reading and Modifying MBR with Programming
Chapter 13 Reading and Modifying DBR with Programming
Chapter 14 Programming for “Raw File” Recovery
Chapter 15 Programming for Data Wipers
Chapter 16 Developing more Utilities for Disks
Appendix Glossary of Data Recovery Terms
 
 

 

Pro Data Doctor

Home

Products

Contact Details

Customer Support

Download Demo

Terms and Conditions

 
Pro Data Doctor