|
@@ -84,11 +84,6 @@
|
|
|
#include <net/sctp/sctp.h>
|
|
|
#include <net/sctp/sm.h>
|
|
|
|
|
|
-/* WARNING: Please do not remove the SCTP_STATIC attribute to
|
|
|
- * any of the functions below as they are used to export functions
|
|
|
- * used by a project regression testsuite.
|
|
|
- */
|
|
|
-
|
|
|
/* Forward declarations for internal helper functions. */
|
|
|
static int sctp_writeable(struct sock *sk);
|
|
|
static void sctp_wfree(struct sk_buff *skb);
|
|
@@ -279,7 +274,7 @@ static struct sctp_transport *sctp_addr_id2transport(struct sock *sk,
|
|
|
* sockaddr_in6 [RFC 2553]),
|
|
|
* addr_len - the size of the address structure.
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_bind(struct sock *sk, struct sockaddr *addr, int addr_len)
|
|
|
+static int sctp_bind(struct sock *sk, struct sockaddr *addr, int addr_len)
|
|
|
{
|
|
|
int retval = 0;
|
|
|
|
|
@@ -333,7 +328,7 @@ static struct sctp_af *sctp_sockaddr_af(struct sctp_sock *opt,
|
|
|
}
|
|
|
|
|
|
/* Bind a local address either to an endpoint or to an association. */
|
|
|
-SCTP_STATIC int sctp_do_bind(struct sock *sk, union sctp_addr *addr, int len)
|
|
|
+static int sctp_do_bind(struct sock *sk, union sctp_addr *addr, int len)
|
|
|
{
|
|
|
struct net *net = sock_net(sk);
|
|
|
struct sctp_sock *sp = sctp_sk(sk);
|
|
@@ -964,9 +959,9 @@ int sctp_asconf_mgmt(struct sctp_sock *sp, struct sctp_sockaddr_entry *addrw)
|
|
|
*
|
|
|
* Returns 0 if ok, <0 errno code on error.
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_setsockopt_bindx(struct sock* sk,
|
|
|
- struct sockaddr __user *addrs,
|
|
|
- int addrs_size, int op)
|
|
|
+static int sctp_setsockopt_bindx(struct sock* sk,
|
|
|
+ struct sockaddr __user *addrs,
|
|
|
+ int addrs_size, int op)
|
|
|
{
|
|
|
struct sockaddr *kaddrs;
|
|
|
int err;
|
|
@@ -1312,7 +1307,7 @@ out_free:
|
|
|
*
|
|
|
* Returns >=0 if ok, <0 errno code on error.
|
|
|
*/
|
|
|
-SCTP_STATIC int __sctp_setsockopt_connectx(struct sock* sk,
|
|
|
+static int __sctp_setsockopt_connectx(struct sock* sk,
|
|
|
struct sockaddr __user *addrs,
|
|
|
int addrs_size,
|
|
|
sctp_assoc_t *assoc_id)
|
|
@@ -1350,9 +1345,9 @@ SCTP_STATIC int __sctp_setsockopt_connectx(struct sock* sk,
|
|
|
* This is an older interface. It's kept for backward compatibility
|
|
|
* to the option that doesn't provide association id.
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_setsockopt_connectx_old(struct sock* sk,
|
|
|
- struct sockaddr __user *addrs,
|
|
|
- int addrs_size)
|
|
|
+static int sctp_setsockopt_connectx_old(struct sock* sk,
|
|
|
+ struct sockaddr __user *addrs,
|
|
|
+ int addrs_size)
|
|
|
{
|
|
|
return __sctp_setsockopt_connectx(sk, addrs, addrs_size, NULL);
|
|
|
}
|
|
@@ -1363,9 +1358,9 @@ SCTP_STATIC int sctp_setsockopt_connectx_old(struct sock* sk,
|
|
|
* indication to the call. Error is always negative and association id is
|
|
|
* always positive.
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_setsockopt_connectx(struct sock* sk,
|
|
|
- struct sockaddr __user *addrs,
|
|
|
- int addrs_size)
|
|
|
+static int sctp_setsockopt_connectx(struct sock* sk,
|
|
|
+ struct sockaddr __user *addrs,
|
|
|
+ int addrs_size)
|
|
|
{
|
|
|
sctp_assoc_t assoc_id = 0;
|
|
|
int err = 0;
|
|
@@ -1386,9 +1381,9 @@ SCTP_STATIC int sctp_setsockopt_connectx(struct sock* sk,
|
|
|
* addrs_num structure member. That way we can re-use the existing
|
|
|
* code.
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_getsockopt_connectx3(struct sock* sk, int len,
|
|
|
- char __user *optval,
|
|
|
- int __user *optlen)
|
|
|
+static int sctp_getsockopt_connectx3(struct sock* sk, int len,
|
|
|
+ char __user *optval,
|
|
|
+ int __user *optlen)
|
|
|
{
|
|
|
struct sctp_getaddrs_old param;
|
|
|
sctp_assoc_t assoc_id = 0;
|
|
@@ -1464,7 +1459,7 @@ SCTP_STATIC int sctp_getsockopt_connectx3(struct sock* sk, int len,
|
|
|
* shutdown phase does not finish during this period, close() will
|
|
|
* return but the graceful shutdown phase continues in the system.
|
|
|
*/
|
|
|
-SCTP_STATIC void sctp_close(struct sock *sk, long timeout)
|
|
|
+static void sctp_close(struct sock *sk, long timeout)
|
|
|
{
|
|
|
struct net *net = sock_net(sk);
|
|
|
struct sctp_endpoint *ep;
|
|
@@ -1573,10 +1568,10 @@ static int sctp_error(struct sock *sk, int flags, int err)
|
|
|
*/
|
|
|
/* BUG: We do not implement the equivalent of sk_stream_wait_memory(). */
|
|
|
|
|
|
-SCTP_STATIC int sctp_msghdr_parse(const struct msghdr *, sctp_cmsgs_t *);
|
|
|
+static int sctp_msghdr_parse(const struct msghdr *, sctp_cmsgs_t *);
|
|
|
|
|
|
-SCTP_STATIC int sctp_sendmsg(struct kiocb *iocb, struct sock *sk,
|
|
|
- struct msghdr *msg, size_t msg_len)
|
|
|
+static int sctp_sendmsg(struct kiocb *iocb, struct sock *sk,
|
|
|
+ struct msghdr *msg, size_t msg_len)
|
|
|
{
|
|
|
struct net *net = sock_net(sk);
|
|
|
struct sctp_sock *sp;
|
|
@@ -2034,9 +2029,9 @@ static int sctp_skb_pull(struct sk_buff *skb, int len)
|
|
|
*/
|
|
|
static struct sk_buff *sctp_skb_recv_datagram(struct sock *, int, int, int *);
|
|
|
|
|
|
-SCTP_STATIC int sctp_recvmsg(struct kiocb *iocb, struct sock *sk,
|
|
|
- struct msghdr *msg, size_t len, int noblock,
|
|
|
- int flags, int *addr_len)
|
|
|
+static int sctp_recvmsg(struct kiocb *iocb, struct sock *sk,
|
|
|
+ struct msghdr *msg, size_t len, int noblock,
|
|
|
+ int flags, int *addr_len)
|
|
|
{
|
|
|
struct sctp_ulpevent *event = NULL;
|
|
|
struct sctp_sock *sp = sctp_sk(sk);
|
|
@@ -3565,8 +3560,8 @@ static int sctp_setsockopt_paddr_thresholds(struct sock *sk,
|
|
|
* optval - the buffer to store the value of the option.
|
|
|
* optlen - the size of the buffer.
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_setsockopt(struct sock *sk, int level, int optname,
|
|
|
- char __user *optval, unsigned int optlen)
|
|
|
+static int sctp_setsockopt(struct sock *sk, int level, int optname,
|
|
|
+ char __user *optval, unsigned int optlen)
|
|
|
{
|
|
|
int retval = 0;
|
|
|
|
|
@@ -3725,8 +3720,8 @@ out_nounlock:
|
|
|
*
|
|
|
* len: the size of the address.
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_connect(struct sock *sk, struct sockaddr *addr,
|
|
|
- int addr_len)
|
|
|
+static int sctp_connect(struct sock *sk, struct sockaddr *addr,
|
|
|
+ int addr_len)
|
|
|
{
|
|
|
int err = 0;
|
|
|
struct sctp_af *af;
|
|
@@ -3752,7 +3747,7 @@ SCTP_STATIC int sctp_connect(struct sock *sk, struct sockaddr *addr,
|
|
|
}
|
|
|
|
|
|
/* FIXME: Write comments. */
|
|
|
-SCTP_STATIC int sctp_disconnect(struct sock *sk, int flags)
|
|
|
+static int sctp_disconnect(struct sock *sk, int flags)
|
|
|
{
|
|
|
return -EOPNOTSUPP; /* STUB */
|
|
|
}
|
|
@@ -3764,7 +3759,7 @@ SCTP_STATIC int sctp_disconnect(struct sock *sk, int flags)
|
|
|
* descriptor will be returned from accept() to represent the newly
|
|
|
* formed association.
|
|
|
*/
|
|
|
-SCTP_STATIC struct sock *sctp_accept(struct sock *sk, int flags, int *err)
|
|
|
+static struct sock *sctp_accept(struct sock *sk, int flags, int *err)
|
|
|
{
|
|
|
struct sctp_sock *sp;
|
|
|
struct sctp_endpoint *ep;
|
|
@@ -3817,7 +3812,7 @@ out:
|
|
|
}
|
|
|
|
|
|
/* The SCTP ioctl handler. */
|
|
|
-SCTP_STATIC int sctp_ioctl(struct sock *sk, int cmd, unsigned long arg)
|
|
|
+static int sctp_ioctl(struct sock *sk, int cmd, unsigned long arg)
|
|
|
{
|
|
|
int rc = -ENOTCONN;
|
|
|
|
|
@@ -3859,7 +3854,7 @@ out:
|
|
|
* initialized the SCTP-specific portion of the sock.
|
|
|
* The sock structure should already be zero-filled memory.
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_init_sock(struct sock *sk)
|
|
|
+static int sctp_init_sock(struct sock *sk)
|
|
|
{
|
|
|
struct net *net = sock_net(sk);
|
|
|
struct sctp_sock *sp;
|
|
@@ -3993,7 +3988,7 @@ SCTP_STATIC int sctp_init_sock(struct sock *sk)
|
|
|
}
|
|
|
|
|
|
/* Cleanup any SCTP per socket resources. */
|
|
|
-SCTP_STATIC void sctp_destroy_sock(struct sock *sk)
|
|
|
+static void sctp_destroy_sock(struct sock *sk)
|
|
|
{
|
|
|
struct sctp_sock *sp;
|
|
|
|
|
@@ -4028,7 +4023,7 @@ SCTP_STATIC void sctp_destroy_sock(struct sock *sk)
|
|
|
* Disables further send and receive operations
|
|
|
* and initiates the SCTP shutdown sequence.
|
|
|
*/
|
|
|
-SCTP_STATIC void sctp_shutdown(struct sock *sk, int how)
|
|
|
+static void sctp_shutdown(struct sock *sk, int how)
|
|
|
{
|
|
|
struct net *net = sock_net(sk);
|
|
|
struct sctp_endpoint *ep;
|
|
@@ -5700,8 +5695,8 @@ static int sctp_getsockopt_assoc_stats(struct sock *sk, int len,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-SCTP_STATIC int sctp_getsockopt(struct sock *sk, int level, int optname,
|
|
|
- char __user *optval, int __user *optlen)
|
|
|
+static int sctp_getsockopt(struct sock *sk, int level, int optname,
|
|
|
+ char __user *optval, int __user *optlen)
|
|
|
{
|
|
|
int retval = 0;
|
|
|
int len;
|
|
@@ -6046,7 +6041,7 @@ static int sctp_get_port(struct sock *sk, unsigned short snum)
|
|
|
/*
|
|
|
* Move a socket to LISTENING state.
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_listen_start(struct sock *sk, int backlog)
|
|
|
+static int sctp_listen_start(struct sock *sk, int backlog)
|
|
|
{
|
|
|
struct sctp_sock *sp = sctp_sk(sk);
|
|
|
struct sctp_endpoint *ep = sp->ep;
|
|
@@ -6333,8 +6328,7 @@ static int sctp_autobind(struct sock *sk)
|
|
|
* msg_control
|
|
|
* points here
|
|
|
*/
|
|
|
-SCTP_STATIC int sctp_msghdr_parse(const struct msghdr *msg,
|
|
|
- sctp_cmsgs_t *cmsgs)
|
|
|
+static int sctp_msghdr_parse(const struct msghdr *msg, sctp_cmsgs_t *cmsgs)
|
|
|
{
|
|
|
struct cmsghdr *cmsg;
|
|
|
struct msghdr *my_msg = (struct msghdr *)msg;
|