Mercurial > hg > index.cgi
comparison src/lwwire.c @ 2:2f2cbd2d2561
Theoretically make "C" flag for drive defs work.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sun, 29 May 2016 10:44:29 -0600 |
parents | bef2801ac83e |
children | e94940ca17e7 |
comparison
equal
deleted
inserted
replaced
1:cfc9524cca2c | 2:2f2cbd2d2561 |
---|---|
71 int lwwire_read2(void *, int, int); | 71 int lwwire_read2(void *, int, int); |
72 void lwwire_reset(void); | 72 void lwwire_reset(void); |
73 int lwwire_fetch_sector(int dn, int lsn, void *); | 73 int lwwire_fetch_sector(int dn, int lsn, void *); |
74 int lwwire_save_sector(int dn, int lsn, void *); | 74 int lwwire_save_sector(int dn, int lsn, void *); |
75 int nonblock(int); | 75 int nonblock(int); |
76 int lwwire_drive_readononly(int dn); | |
76 | 77 |
77 void lwwire_proto_read(void); | 78 void lwwire_proto_read(void); |
78 void lwwire_proto_write(void); | 79 void lwwire_proto_write(void); |
79 void lwwire_proto_readex(void); | 80 void lwwire_proto_readex(void); |
80 void lwwire_proto_requestextension(void); | 81 void lwwire_proto_requestextension(void); |
620 } | 621 } |
621 } | 622 } |
622 return drivedata[dn].fp; | 623 return drivedata[dn].fp; |
623 } | 624 } |
624 | 625 |
626 int lwwire_drive_readonly(int dn) | |
627 { | |
628 return drivedata[dn].isconst; | |
629 } | |
630 | |
631 | |
625 /* read a sector from a disk image */ | 632 /* read a sector from a disk image */ |
626 int lwwire_fetch_sector(int dn, int lsn, void *buf) | 633 int lwwire_fetch_sector(int dn, int lsn, void *buf) |
627 { | 634 { |
628 FILE *fp; | 635 FILE *fp; |
629 int rc; | 636 int rc; |
645 int lwwire_save_sector(int dn, int lsn, void *buf) | 652 int lwwire_save_sector(int dn, int lsn, void *buf) |
646 { | 653 { |
647 FILE *fp; | 654 FILE *fp; |
648 int rc; | 655 int rc; |
649 | 656 |
657 if (lwwire_drive_readonly(dn)) | |
658 return LWERR_WRITE; | |
650 fp = lwwire_fetch_drive_fp(dn); | 659 fp = lwwire_fetch_drive_fp(dn); |
651 if (!fp) | 660 if (!fp) |
652 return LWERR_NOTREADY; | 661 return LWERR_NOTREADY; |
653 if (drivedata[dn].isconst) | 662 if (drivedata[dn].isconst) |
654 return LWERR_WRITE; | 663 return LWERR_WRITE; |