URI: 
       tuse device names for FreeBSD (Lou Kamenov) - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 69bdb78dec6cd3050b5b26764e017a51999e7d14
   DIR parent 97e443234436c4d0cfdb4b07d84d11c320c56dd3
  HTML Author: rsc <devnull@localhost>
       Date:   Fri, 11 May 2007 00:16:40 +0000
       
       use device names for FreeBSD (Lou Kamenov)
       
       Diffstat:
         M src/lib9/_p9dir.c                   |      41 ++++++++++++++++++++++++++++++-
       
       1 file changed, 40 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/src/lib9/_p9dir.c b/src/lib9/_p9dir.c
       t@@ -10,6 +10,10 @@
        #if defined(__FreeBSD__) || defined(__OpenBSD__)
        #include <sys/disklabel.h>
        #include <sys/ioctl.h>
       +#define _HAVEDISKLABEL
       +#endif
       +
       +#if defined(__OpenBSD__)
        static int diskdev[] = {
                151,        /* aacd */
                116,        /* ad */
       t@@ -41,9 +45,44 @@ isdisk(struct stat *st)
                                return 1;
                return 0;
        }
       -#define _HAVEDISKLABEL
        #endif
        
       +#if defined(__FreeBSD__)        /* maybe OpenBSD too? */
       +char *diskdev[] = {
       +        "aacd",
       +        "ad",
       +        "ar",
       +        "afd",
       +        "amrd",
       +        "da",
       +        "fla",
       +        "idad",
       +        "md",
       +        "mlxd",
       +        "pst",
       +        "twed",
       +        "vn",
       +        "wd",
       +        "wfd",
       +        "da",
       +};
       +static int
       +isdisk(struct stat *st)
       +{
       +        char *name;
       +        int i;
       +        
       +        if(!S_ISCHR(st->st_mode))
       +                return 0;
       +        name = devname(st->st_rdev, S_IFCHR);
       +        for(i=0; i<nelem(diskdev); i++)
       +                if(strcmp(diskdev[i], name) == 0)
       +                        return 1;
       +        return 0;
       +}
       +#endif
       +
       +
        #if defined(__linux__)
        #include <linux/hdreg.h>
        #include <linux/fs.h>