11 if (a->ciunit >= MXUNIT || a->ciunit < 0)
12 err (a->cierr, 101, "startio");
13 f__sequential = f__formatted = f__recpos = 0;
15 f__curunit = &f__units[a->ciunit];
16 if (a->ciunit >= MXUNIT || a->ciunit < 0)
17 err (a->cierr, 101, "startio");
19 if (f__curunit->ufd == NULL && fk_open (DIR, UNF, a->ciunit))
20 err (a->cierr, 104, "due");
21 f__cf = f__curunit->ufd;
23 err (a->cierr, 102, "cdue");
24 if (!f__curunit->useek)
25 err (a->cierr, 104, "cdue");
26 if (f__curunit->ufd == NULL)
27 err (a->cierr, 114, "cdue");
29 err (a->cierr, 130, "due");
30 FSEEK (f__cf, (off_t) (a->cirec - 1) * f__curunit->url, SEEK_SET);
42 if (f__curunit->uwrt && f__nowreading (f__curunit))
43 err (a->cierr, errno, "read start");
54 if (f__curunit->uwrt != 1 && f__nowwriting (f__curunit))
55 err (a->cierr, errno, "write start");
63 if (f__curunit->url == 1 || f__recpos == f__curunit->url)
65 FSEEK (f__cf, (off_t) (f__curunit->url - f__recpos), SEEK_CUR);
66 if (FTELL (f__cf) % f__curunit->url)
67 err (f__elist->cierr, 200, "syserr");
77 err (f__elist->cierr, errno, "write end");