/* * devops.c: Device operations using the PROM. * * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) * Copyright (C) 1996,1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) */ #include #include #include #include #include /* Open the device described by the string 'dstr'. Returns the handle * to that device used for subsequent operations on that device. * Returns 0 on failure. */ int prom_devopen(const char *dstr) { unsigned long args[5]; args[0] = (unsigned long) "open"; args[1] = 1; args[2] = 1; args[3] = (unsigned long) dstr; args[4] = (unsigned long) -1; p1275_cmd_direct(args); return (int) args[4]; } /* Close the device described by device handle 'dhandle'. */ int prom_devclose(int dhandle) { unsigned long args[4]; args[0] = (unsigned long) "close"; args[1] = 1; args[2] = 0; args[3] = (unsigned int) dhandle; p1275_cmd_direct(args); return 0; } /* Seek to specified location described by 'seekhi' and 'seeklo' * for device 'dhandle'. */ void prom_seek(int dhandle, unsigned int seekhi, unsigned int seeklo) { unsigned long args[7]; args[0] = (unsigned long) "seek"; args[1] = 3; args[2] = 1; args[3] = (unsigned int) dhandle; args[4] = seekhi; args[5] = seeklo; args[6] = (unsigned long) -1; p1275_cmd_direct(args); }