| 923 | } |
| 924 | |
| 925 | int |
| 926 | ff_getsockopt(int s, int level, int optname, void *optval, |
| 927 | socklen_t *optlen) |
| 928 | { |
| 929 | int rc; |
| 930 | if (level == LINUX_SOL_SOCKET) |
| 931 | level = SOL_SOCKET; |
| 932 | |
| 933 | optname = linux2freebsd_opt(level, optname); |
| 934 | if (optname < 0) { |
| 935 | rc = EINVAL; |
| 936 | goto kern_fail; |
| 937 | } |
| 938 | |
| 939 | if ((rc = kern_getsockopt(curthread, s, level, optname, |
| 940 | optval, UIO_USERSPACE, optlen))) |
| 941 | goto kern_fail; |
| 942 | |
| 943 | return (rc); |
| 944 | |
| 945 | kern_fail: |
| 946 | ff_os_errno(rc); |
| 947 | return (-1); |
| 948 | } |
| 949 | |
| 950 | int |
| 951 | ff_getsockopt_freebsd(int s, int level, int optname, |
no test coverage detected