]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mount/parse_opt.h
text-based mount command: make po_rightmost() work for N options
[nfs-utils.git] / utils / mount / parse_opt.h
index 93430d99ce0d03732b177b12f713301ef3968db3..e132b1cd979961cb534608d5721cbf38fa21781a 100644 (file)
  *
  */
 
-enum {
+#ifndef _NFS_UTILS_PARSE_OPT_H
+#define _NFS_UTILS_PARSE_OPT_H
+
+typedef enum {
        PO_FAILED = 0,
        PO_SUCCEEDED = 1,
-};
+} po_return_t;
 
-enum {
+typedef enum {
        PO_NOT_FOUND = 0,
        PO_FOUND = 1,
-};
+       PO_BAD_VALUE = 2,
+} po_found_t;
 
 struct mount_options;
 
 struct mount_options * po_split(char *);
 void                   po_replace(struct mount_options *,
                                   struct mount_options *);
-int                    po_join(struct mount_options *, char **);
+po_return_t            po_join(struct mount_options *, char **);
 
-int                    po_append(struct mount_options *, char *);
-int                    po_contains(struct mount_options *, char *);
+po_return_t            po_append(struct mount_options *, char *);
+po_found_t             po_contains(struct mount_options *, char *);
 char *                 po_get(struct mount_options *, char *);
-int                    po_rightmost(struct mount_options *, char *, char *);
-int                    po_remove_all(struct mount_options *, char *);
+po_found_t             po_get_numeric(struct mount_options *,
+                                       char *, long *);
+unsigned int           po_rightmost(struct mount_options *,
+                                       const char *keys[]);
+po_found_t             po_remove_all(struct mount_options *, char *);
 void                   po_destroy(struct mount_options *);
+
+#endif /* _NFS_UTILS_PARSE_OPT_H */