| 172 | } |
| 173 | |
| 174 | int |
| 175 | sys_bind(struct thread *td, struct bind_args *uap) |
| 176 | { |
| 177 | struct sockaddr *sa; |
| 178 | int error; |
| 179 | |
| 180 | error = getsockaddr(&sa, uap->name, uap->namelen); |
| 181 | if (error == 0) { |
| 182 | error = kern_bindat(td, AT_FDCWD, uap->s, sa); |
| 183 | free(sa, M_SONAME); |
| 184 | } |
| 185 | return (error); |
| 186 | } |
| 187 | |
| 188 | int |
| 189 | kern_bindat(struct thread *td, int dirfd, int fd, struct sockaddr *sa) |
no test coverage detected