Lines Matching +full:32 +full:ma

79 static void	free_mntarg(struct mntarg *ma);
439 * Mount flags are now 64-bits. On 32-bit archtectures only in sys_nmount()
440 * 32-bits are passed in, but from here on everything handles in sys_nmount()
1057 struct mntarg *ma = NULL; in sys_mount() local
1062 * Mount flags are now 64-bits. On 32-bit architectures only in sys_mount()
1063 * 32-bits are passed in, but from here on everything handles in sys_mount()
1097 ma = mount_argsu(ma, "fstype", uap->type, MFSNAMELEN); in sys_mount()
1098 ma = mount_argsu(ma, "fspath", uap->path, MNAMELEN); in sys_mount()
1099 ma = mount_argb(ma, flags & MNT_RDONLY, "noro"); in sys_mount()
1100 ma = mount_argb(ma, !(flags & MNT_NOSUID), "nosuid"); in sys_mount()
1101 ma = mount_argb(ma, !(flags & MNT_NOEXEC), "noexec"); in sys_mount()
1104 return (vfsp->vfc_vfsops_sd->vfs_cmount(ma, uap->data, flags)); in sys_mount()
1105 return (vfsp->vfc_vfsops->vfs_cmount(ma, uap->data, flags)); in sys_mount()
2815 mount_argb(struct mntarg *ma, int flag, const char *name) in mount_argb() argument
2821 return (mount_arg(ma, name + (flag ? 2 : 0), NULL, 0)); in mount_argb()
2828 mount_argf(struct mntarg *ma, const char *name, const char *fmt, ...) in mount_argf() argument
2835 if (ma == NULL) { in mount_argf()
2836 ma = malloc(sizeof *ma, M_MOUNT, M_WAITOK | M_ZERO); in mount_argf()
2837 SLIST_INIT(&ma->list); in mount_argf()
2839 if (ma->error) in mount_argf()
2840 return (ma); in mount_argf()
2842 ma->v = realloc(ma->v, sizeof *ma->v * (ma->len + 2), in mount_argf()
2844 ma->v[ma->len].iov_base = (void *)(uintptr_t)name; in mount_argf()
2845 ma->v[ma->len].iov_len = strlen(name) + 1; in mount_argf()
2846 ma->len++; in mount_argf()
2855 SLIST_INSERT_HEAD(&ma->list, maa, next); in mount_argf()
2859 ma->v[ma->len].iov_base = maa + 1; in mount_argf()
2860 ma->v[ma->len].iov_len = len; in mount_argf()
2861 ma->len++; in mount_argf()
2863 return (ma); in mount_argf()
2870 mount_argsu(struct mntarg *ma, const char *name, const void *val, int len) in mount_argsu() argument
2876 return (ma); in mount_argsu()
2877 if (ma == NULL) { in mount_argsu()
2878 ma = malloc(sizeof *ma, M_MOUNT, M_WAITOK | M_ZERO); in mount_argsu()
2879 SLIST_INIT(&ma->list); in mount_argsu()
2881 if (ma->error) in mount_argsu()
2882 return (ma); in mount_argsu()
2884 SLIST_INSERT_HEAD(&ma->list, maa, next); in mount_argsu()
2886 ma->error = copyinstr(val, tbuf, len, NULL); in mount_argsu()
2887 return (mount_arg(ma, name, tbuf, -1)); in mount_argsu()
2896 mount_arg(struct mntarg *ma, const char *name, const void *val, int len) in mount_arg() argument
2899 if (ma == NULL) { in mount_arg()
2900 ma = malloc(sizeof *ma, M_MOUNT, M_WAITOK | M_ZERO); in mount_arg()
2901 SLIST_INIT(&ma->list); in mount_arg()
2903 if (ma->error) in mount_arg()
2904 return (ma); in mount_arg()
2906 ma->v = realloc(ma->v, sizeof *ma->v * (ma->len + 2), in mount_arg()
2908 ma->v[ma->len].iov_base = (void *)(uintptr_t)name; in mount_arg()
2909 ma->v[ma->len].iov_len = strlen(name) + 1; in mount_arg()
2910 ma->len++; in mount_arg()
2912 ma->v[ma->len].iov_base = (void *)(uintptr_t)val; in mount_arg()
2914 ma->v[ma->len].iov_len = strlen(val) + 1; in mount_arg()
2916 ma->v[ma->len].iov_len = len; in mount_arg()
2917 ma->len++; in mount_arg()
2918 return (ma); in mount_arg()
2925 free_mntarg(struct mntarg *ma) in free_mntarg() argument
2929 while (!SLIST_EMPTY(&ma->list)) { in free_mntarg()
2930 maa = SLIST_FIRST(&ma->list); in free_mntarg()
2931 SLIST_REMOVE_HEAD(&ma->list, next); in free_mntarg()
2934 free(ma->v, M_MOUNT); in free_mntarg()
2935 free(ma, M_MOUNT); in free_mntarg()
2942 kernel_mount(struct mntarg *ma, uint64_t flags) in kernel_mount() argument
2947 KASSERT(ma != NULL, ("kernel_mount NULL ma")); in kernel_mount()
2948 KASSERT(ma->error != 0 || ma->v != NULL, ("kernel_mount NULL ma->v")); in kernel_mount()
2949 KASSERT(!(ma->len & 1), ("kernel_mount odd ma->len (%d)", ma->len)); in kernel_mount()
2951 error = ma->error; in kernel_mount()
2953 auio.uio_iov = ma->v; in kernel_mount()
2954 auio.uio_iovcnt = ma->len; in kernel_mount()
2958 free_mntarg(ma); in kernel_mount()