home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!europa.asd.contel.com!darwin.sura.net!jvnc.net!yale.edu!ira.uka.de!smurf.sub.org!hugis!castle.erh.sub.org!forge.erh.sub.org!barnard
- From: barnard@forge.erh.sub.org (Henning Schmiedehausen)
- Newsgroups: de.comp.sys.amiga.misc
- Subject: Re: Info ueber trackdisk-kompatibles Device
- Message-ID: <mLsqr*Yg0@forge.erh.sub.org>
- Date: Wed, 29 Jul 1992 02:04:54 GMT
- References: <zrawi01.712244965@indiaka>
- Organization: Barnard's Software Forge
- X-Newsreader: Arn V1.00 beta rel1
- Lines: 68
-
- In article <zrawi01.712244965@indiaka>, J. Wiedmann writes:
-
- > Hallo,
- >
- > ich moechte in ein Programm eine DiskCopy-aehnliche Routine einbauen. Sie
- > soll aber nicht nur fuer df0:-df3: funktionieren, sondern auch fuer andere
- > Devices, die nach demselben Prinzip arbeiten, z.B. msh: oder ff0: (mit Fast-
- > FileSystem gemountetes df0:), natuerlich nur sofern das Format uebereinstimmt.
- >
- > Ich moechte also, zu einem gegebenen Device- oder Volumenamen die noetigen
- > Informationen bestimmen, als da waeren:
- > - Zahl der Koepfe, Zylinder, Sektoren
- > - Bytes pro Block
- > - Verwendetes Filesystem
- > - Trackdisk-kompatibel (Ja/Nein)
-
-
- Du gehst die Device-Liste durch und schaust beim gesuchten Device unter
- dn_Startup nach. Dort findest Du die FileSysStartupMsg:
-
- struct FileSysStartupMsg {
- ULONG fssm_Unit; /* exec unit number for this device */
- BSTR fssm_Device; /* null terminated bstring to the device name */
- BPTR fssm_Environ; /* ptr to environment table (see above) */
- ULONG fssm_Flags; /* flags for OpenDevice() */
- };
-
- Dort findest Du Unit und Device-Name, ausserdem einen Zeiger auf 'Environ'.
- Dieser enthaelt:
-
-
- struct DosEnvec {
- ULONG de_TableSize; /* Size of Environment vector */
- ULONG de_SizeBlock; /* in longwords: standard value is 128 */
- ULONG de_SecOrg; /* not used; must be 0 */
- ULONG de_Surfaces; /* # of heads (surfaces). drive specific */
- ULONG de_SectorPerBlock; /* not used; must be 1 */
- ULONG de_BlocksPerTrack; /* blocks per track. drive specific */
- ULONG de_Reserved; /* DOS reserved blocks at start of partition. */
- ULONG de_PreAlloc; /* DOS reserved blocks at end of partition */
- ULONG de_Interleave; /* usually 0 */
- ULONG de_LowCyl; /* starting cylinder. typically 0 */
- ULONG de_HighCyl; /* max cylinder. drive specific */
- ULONG de_NumBuffers; /* Initial # DOS of buffers. */
- ULONG de_BufMemType; /* type of mem to allocate for buffers */
- ULONG de_MaxTransfer; /* Max number of bytes to transfer at a time */
- ULONG de_Mask; /* Address Mask to block out certain memory */
- LONG de_BootPri; /* Boot priority for autoboot */
- ULONG de_DosType; /* ASCII (HEX) string showing filesystem type;
- * 0X444F5300 is old filesystem,
- * 0X444F5301 is fast file system */
- ULONG de_Baud; /* Baud rate for serial handler */
- ULONG de_Control; /* Control word for handler/filesystem */
- ULONG de_BootBlocks; /* Number of blocks containing boot code */
-
- };
-
-
- .... also alles was Du brauchst.... ;)
-
- Ciao
- Henning
-
- --
- -- Henning Schmiedehausen --- barnard@forge.erh.sub.org --- A 3000/25 --- __
- Captain, wir koennen es schaffen, wir koennen den |Home of Barnard's__ ///
- Transporter modifizieren. Wir brauchen 15 Jahre und|Software Forge \\\///
- 100 Techniker... - Geordi LaForge, ST:TNG - The ensigns of command \XX/
-