home *** CD-ROM | disk | FTP | other *** search
- /* aados.h Copyright 1990 Dancing Flame, San Francisco */
-
- #ifndef AADOS_H
- #define AADOS_H
-
- #ifndef AATYPES_H
- #include "aatypes.h"
- #endif /* AATYPES_H */
-
- typedef int Jfile;
-
- dos_key_is(void); /* return 1 if a key is ready to read, 0 if not */
- dos_key_in(void); /* return next keyboard input. Wait for it. */
-
- Jfile dos_open(char *title, int mode); /* open a file that already exists.*/
- /* defines for mode parameter to dos_open */
- #define DOS_READ_ONLY 0
- #define DOS_WRITE_ONLY 1
- #define DOS_READ_WRITE 2
-
- Jfile dos_create(char *title); /* Create a new read/write file */
- void dos_close(Jfile f); /* close file */
-
- /* File read/write. Normally don't use dos_rw, but go through macros */
- long dos_rw(Jfile f,void *buf,long size,int ah);
- #define dos_read(f,b,size) dos_rw(f,b,size,0x3f)
- #define dos_write(f,b,size) dos_rw(f,b,size,0x40)
-
- long dos_seek (Jfile f, long offset, int mode);
- long dos_tell (Jfile f);
- /* defines for mode parameter to dos_seek */
- #define DOS_SEEK_START 0
- #define DOS_SEEK_RELATIVE 1
- #define DOS_SEEK_END 2
-
-
- /* size of a buffer long enough to hold any MS-DOS path */
- #define DOS_PATH_SIZE 80
-
- /* this is the data structure used by dos_first() dos_next () in searching
- directories */
- typedef struct fndata
- {
- char reserved[21];
- char attribute;
- USHORT time, date;
- long size;
- char name[13];
- char fordos[128-43];
- } Fndata;
-
- Fndata *dos_get_dta (void); /* get the 'DTA' area for directory search */
- Boolean dos_first(char *pattern, int attributes);
- /* defines for attributes parameters */
- #define DOS_ATTR_DIR 16
- #define DOS_ATTR_NORMAL 0
- Boolean dos_next (void);
-
-
- /* A list of dos_devices that are actually connected,
- made by dos_get_devlist () */
- extern char dos_devices[26];
- extern int dos_dev_count;
- void dos_get_devlist (void);
-
- /* This gets rid of the ms-dos abort/retry/fail message. Afterwards
- ms-dos acts like it was always a fail. dos_get_devlist () calls this... */
- void dos_no_abort_retry_cancel (void);
-
- /* Hey dos - I want to go to this directory. Actually this changes
- both device and directory at once. eg name could be
- C:\VPAINT\FISHIES */
- Boolean dos_change_dir(char *name);
-
- /* Tell DOS it's time to go to another drive mon. 0 = A:, 1 = B: ...
- you get the idea */
- Boolean dos_change_dev(int newdev);
-
- /* Hey DOS, what drive is we on? 0 = A: */
- int dos_get_dev (void);
-
- /* Get the current device and directory into path */
- Boolean dos_get_dir (char path[DOS_PATH_SIZE]);
-
- /* Create a directory. (Don't include device info. If needed
- do a dos_change_dev(dev) first.) */
- Boolean dos_make_dir(char *name);
-
- /* Delete a directory. */
- Boolean dos_del_dir(char *name);
-
- /* Figure how much free space is on a device. 0 = current device. 1 = A:... */
- long dos_dfree(int dev);
-
- #endif /* AADOS_H */
-