|
@@ -95,6 +95,12 @@ enum sock_type {
|
|
|
|
|
|
#endif /* ARCH_HAS_SOCKET_TYPES */
|
|
|
|
|
|
+enum sock_shutdown_cmd {
|
|
|
+ SHUT_RD = 0,
|
|
|
+ SHUT_WR = 1,
|
|
|
+ SHUT_RDWR = 2,
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* struct socket - general BSD socket
|
|
|
* @state: socket state (%SS_CONNECTED, etc)
|
|
@@ -223,6 +229,8 @@ extern int kernel_setsockopt(struct socket *sock, int level, int optname,
|
|
|
extern int kernel_sendpage(struct socket *sock, struct page *page, int offset,
|
|
|
size_t size, int flags);
|
|
|
extern int kernel_sock_ioctl(struct socket *sock, int cmd, unsigned long arg);
|
|
|
+extern int kernel_sock_shutdown(struct socket *sock,
|
|
|
+ enum sock_shutdown_cmd how);
|
|
|
|
|
|
#ifndef CONFIG_SMP
|
|
|
#define SOCKOPS_WRAPPED(name) name
|