1*23222Smckusick /* 2*23222Smckusick * Copyright (c) 1982 Regents of the University of California. 3*23222Smckusick * All rights reserved. The Berkeley software License Agreement 4*23222Smckusick * specifies the terms and conditions for redistribution. 5*23222Smckusick * 6*23222Smckusick * @(#)confxx.c 6.2 (Berkeley) 06/08/85 7*23222Smckusick */ 87465Skre 99803Ssam #include "../machine/pte.h" 109803Ssam 117465Skre #include "../h/param.h" 127465Skre #include "../h/inode.h" 137465Skre #include "../h/fs.h" 147465Skre #include "saio.h" 157465Skre 167465Skre devread(io) 177465Skre register struct iob *io; 187465Skre { 1911111Ssam int cc; 207465Skre 2110024Ssam io->i_flgs |= F_RDDATA; 2211111Ssam io->i_error = 0; 2311111Ssam cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, READ); 2410024Ssam io->i_flgs &= ~F_TYPEMASK; 2511111Ssam return (cc); 267465Skre } 277465Skre 287465Skre devwrite(io) 297465Skre register struct iob *io; 307465Skre { 3111111Ssam int cc; 327465Skre 3310024Ssam io->i_flgs |= F_WRDATA; 3411111Ssam io->i_error = 0; 3511111Ssam cc = (*devsw[io->i_ino.i_dev].dv_strategy)(io, WRITE); 3610024Ssam io->i_flgs &= ~F_TYPEMASK; 3711111Ssam return (cc); 387465Skre } 397465Skre 407465Skre devopen(io) 417465Skre register struct iob *io; 427465Skre { 437465Skre 447465Skre (*devsw[io->i_ino.i_dev].dv_open)(io); 457465Skre } 467465Skre 477465Skre devclose(io) 487465Skre register struct iob *io; 497465Skre { 507465Skre 517465Skre (*devsw[io->i_ino.i_dev].dv_close)(io); 527465Skre } 537465Skre 5410024Ssam devioctl(io, cmd, arg) 5510024Ssam register struct iob *io; 5610024Ssam int cmd; 5710024Ssam caddr_t arg; 587465Skre { 597465Skre 6010024Ssam return ((*devsw[io->i_ino.i_dev].dv_ioctl)(io, cmd, arg)); 6110024Ssam } 6210024Ssam 6310024Ssam /*ARGSUSED*/ 6410024Ssam nullsys(io) 6510024Ssam struct iob *io; 6610024Ssam { 6710024Ssam 687465Skre ; 697465Skre } 707465Skre 7110024Ssam /*ARGSUSED*/ 7210024Ssam nullioctl(io, cmd, arg) 7310024Ssam struct iob *io; 7410024Ssam int cmd; 7510024Ssam caddr_t arg; 7610024Ssam { 777465Skre 7810024Ssam return (ECMD); 7910024Ssam } 8010024Ssam 8110024Ssam int nullsys(), nullioctl(); 8210024Ssam int xxstrategy(), xxopen(), xxioctl(); 8310024Ssam 847465Skre struct devsw devsw[] = { 8510024Ssam { "XX", xxstrategy, xxopen, nullsys, xxioctl }, 8610024Ssam { 0, 0, 0, 0, 0 } 877465Skre }; 88