| 824 | } |
| 825 | |
| 826 | int sal_getsockopt(int socket, int level, int optname, void *optval, socklen_t *optlen) |
| 827 | { |
| 828 | struct sal_socket *sock; |
| 829 | struct sal_proto_family *pf; |
| 830 | |
| 831 | /* get the socket object by socket descriptor */ |
| 832 | SAL_SOCKET_OBJ_GET(sock, socket); |
| 833 | |
| 834 | /* check the network interface socket opreation */ |
| 835 | SAL_NETDEV_SOCKETOPS_VALID(sock->netdev, pf, getsockopt); |
| 836 | |
| 837 | return pf->skt_ops->getsockopt((int)(size_t)sock->user_data, level, optname, optval, optlen); |
| 838 | } |
| 839 | |
| 840 | int sal_setsockopt(int socket, int level, int optname, const void *optval, socklen_t optlen) |
| 841 | { |