13e12c5d1SDavid du Colombier #include <errno.h> 23e12c5d1SDavid du Colombier #include <unistd.h> 33e12c5d1SDavid du Colombier #include "lib.h" 43e12c5d1SDavid du Colombier #include "sys9.h" 53e12c5d1SDavid du Colombier 63e12c5d1SDavid du Colombier ssize_t write(int d,const void * buf,size_t nbytes)77dd7cddfSDavid du Colombierwrite(int d, const void *buf, size_t nbytes) 83e12c5d1SDavid du Colombier { 93e12c5d1SDavid du Colombier int n; 103e12c5d1SDavid du Colombier 113e12c5d1SDavid du Colombier if(d<0 || d>=OPEN_MAX || !(_fdinfo[d].flags&FD_ISOPEN)){ 123e12c5d1SDavid du Colombier errno = EBADF; 133e12c5d1SDavid du Colombier return -1; 143e12c5d1SDavid du Colombier } 153e12c5d1SDavid du Colombier if(_fdinfo[d].oflags&O_APPEND) 16*d9306527SDavid du Colombier _SEEK(d, 0, 2); 173e12c5d1SDavid du Colombier n = _WRITE(d, buf, nbytes); 183e12c5d1SDavid du Colombier if(n < 0) 193e12c5d1SDavid du Colombier _syserrno(); 203e12c5d1SDavid du Colombier return n; 213e12c5d1SDavid du Colombier } 22