Borland C++ reference

setdta

raw OCR

Sets disk-transfer address.

Defined in header <dos.h>

Syntax

#include <dos.h>
void setdta(char far *dta);

Portability

DOSUNIXWindowsANSI CC++ only
■■

Remarks

setdta changes the current setting of the DOS disk-transfer address (DTA) to the value given by dta.

Return value

None.

See also

Example

#include <process.h>
#include <string.h>
#include <stdio.h>
#include <dos.h>

int main(void)

   char line [80], far *save_dta;
   char buffer [256] = "SETDTA test!";
   struct fcb bR;
   int result;

   /* get new file name  from user. */
   printf("Enter a file name  to create:");
   gets(line);

   /* parse the new file name  to the dta */
   parsfnm(line, &bll<:, 1);
   printf ("%d %s\n", blk.fcb_drive, bl]<.fcb_name);

   /* request DOS services to  create file */
   if (bdosptr(0xl6, &bl]c, 0) == -1) {
      perror("Error creating  file");
      exit(l);

   /* save old dta and set new  dta */
   save_dta = getdtaO;
setdta (buffer);

/* write new records  */
blk.fcb_recsize = 256;
blk.fcb_random =  0L;
result = randbwr (&blk, 1);
printf ("result = %d\n", result);

if  (iresult)
   printf ("Write OK\n");
else {
   perror ("Disk error");
   exit(l);
}
/* request DOS services  to close the file */
if  (bdosptr(OxlO, &blk, 0) == -1) {
   perror ("Error closing file");
   exit(l);
}
/* reset the old dta  */
setdta (save_dta);

return 0;

Differences from modern implementations

Nothing recorded yet.

Modern references

These are search links, not yet checked by hand.