int sys_bind(struct lwp *l, const struct sys_bind_args *uap, register_t *retval) { /* { syscallarg(int) s; syscallarg(const struct sockaddr *) name; syscallarg(unsigned int) namelen; } */ struct mbuf *nam; int error; error = sockargs(&nam, SCARG(uap, name), SCARG(uap, namelen), MT_SONAME); if (error) return error; return do_sys_bind(l, SCARG(uap, s), nam); }
int darwin_sys_bind(struct lwp *l, const struct darwin_sys_bind_args *uap, register_t *retval) { /* { syscallarg(int) s; syscallarg(struct sockaddr *) name; syscallarg(unsigned int *) namelen; } */ struct mbuf *nam; int error; error = sockargs(&nam, SCARG(uap, name), SCARG(uap, namelen), MT_SONAME); if (error == 0) error = darwin_to_native_sockaddr(nam); if (error == 0) error = do_sys_bind(l, SCARG(uap, s), nam); return error; }