X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fmountlist.h;h=9e550a082ea6d96021a7f555d8eabcdd9f6e90a2;hb=39e82e46dde285e3ed536bf9b089904cd2b04c3c;hp=78fb1b3337ff489d762cd6ed11f83eb04d0d11a0;hpb=d87c39464604e74f580c7fae835be31a4c125c36;p=gnulib.git diff --git a/lib/mountlist.h b/lib/mountlist.h index 78fb1b333..9e550a082 100644 --- a/lib/mountlist.h +++ b/lib/mountlist.h @@ -1,5 +1,7 @@ /* mountlist.h -- declarations for list of mounted filesystems - Copyright (C) 1991, 1992 Free Software Foundation, Inc. + + Copyright (C) 1991, 1992, 1998, 2000, 2001, 2002, 2003 Free + Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,8 +14,8 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* A mount table entry. */ struct mount_entry @@ -22,11 +24,30 @@ struct mount_entry char *me_mountdir; /* Mount point directory pathname. */ char *me_type; /* "nfs", "4.2", etc. */ dev_t me_dev; /* Device number of me_mountdir. */ + unsigned int me_dummy : 1; /* Nonzero for dummy filesystems. */ + unsigned int me_remote : 1; /* Nonzero for remote fileystems. */ + unsigned int me_type_malloced : 1; /* Nonzero if me_type was malloced. */ struct mount_entry *me_next; }; -#if __STDC__ -struct mount_entry *read_filesystem_list (int need_fs_type, int all_fs); -#else -struct mount_entry *read_filesystem_list (); +struct mount_entry *read_filesystem_list (int need_fs_type); + +#ifndef ME_DUMMY +# define ME_DUMMY(Fs_name, Fs_type) \ + (!strcmp (Fs_type, "autofs") \ + /* for Irix 6.5 */ \ + || !strcmp (Fs_type, "ignore")) +#endif + +#undef STREQ +#define STREQ(a, b) (strcmp ((a), (b)) == 0) + +#ifndef ME_REMOTE +/* A file system is `remote' if its Fs_name contains a `:' + or if (it is of type smbfs and its Fs_name starts with `//'). */ +# define ME_REMOTE(Fs_name, Fs_type) \ + (strchr ((Fs_name), ':') != 0 \ + || ((Fs_name)[0] == '/' \ + && (Fs_name)[1] == '/' \ + && STREQ (Fs_type, "smbfs"))) #endif