linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / net / decnet / af_decnet.c
index 07d9869..ce4aaf9 100644 (file)
@@ -99,6 +99,7 @@ Version 0.0.6    2.1.110   07-aug-98   Eduardo Marcelo Serrat
                                        dn_bind fixes
 *******************************************************************************/
 
+#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/types.h>
@@ -171,7 +172,7 @@ static struct hlist_head *dn_find_list(struct sock *sk)
 /* 
  * Valid ports are those greater than zero and not already in use.
  */
-static int check_port(__le16 port)
+static int check_port(unsigned short port)
 {
        struct sock *sk;
        struct hlist_node *node;
@@ -660,7 +661,7 @@ disc_reject:
        }
 }
 
-char *dn_addr2asc(__u16 addr, char *buf)
+char *dn_addr2asc(dn_address addr, char *buf)
 {
        unsigned short node, area;
 
@@ -800,7 +801,7 @@ static int dn_auto_bind(struct socket *sock)
        /* End of compatibility stuff */
 
        scp->addr.sdn_add.a_len = dn_htons(2);
-       rv = dn_dev_bind_default((__le16 *)scp->addr.sdn_add.a_addr);
+       rv = dn_dev_bind_default((dn_address *)scp->addr.sdn_add.a_addr);
        if (rv == 0) {
                rv = dn_hash_sock(sk);
                if (rv)
@@ -1020,7 +1021,7 @@ static void dn_user_copy(struct sk_buff *skb, struct optdata_dn *opt)
         opt->opt_optl   = *ptr++;
         opt->opt_status = 0;
         memcpy(opt->opt_data, ptr, opt->opt_optl);
-        skb_pull(skb, dn_ntohs(opt->opt_optl) + 1);
+        skb_pull(skb, opt->opt_optl + 1);
 
 }
 
@@ -1120,8 +1121,8 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags)
 
        skb_pull(skb, dn_username2sockaddr(skb->data, skb->len, &(DN_SK(newsk)->addr), &type));
        skb_pull(skb, dn_username2sockaddr(skb->data, skb->len, &(DN_SK(newsk)->peer), &type));
-       *(__le16 *)(DN_SK(newsk)->peer.sdn_add.a_addr) = cb->src;
-       *(__le16 *)(DN_SK(newsk)->addr.sdn_add.a_addr) = cb->dst;
+       *(dn_address *)(DN_SK(newsk)->peer.sdn_add.a_addr) = cb->src;
+       *(dn_address *)(DN_SK(newsk)->addr.sdn_add.a_addr) = cb->dst;
 
        menuver = *skb->data;
        skb_pull(skb, 1);
@@ -1177,10 +1178,8 @@ static int dn_getname(struct socket *sock, struct sockaddr *uaddr,int *uaddr_len
        if (peer) {
                if ((sock->state != SS_CONNECTED && 
                     sock->state != SS_CONNECTING) && 
-                   scp->accept_mode == ACC_IMMED) {
-                       release_sock(sk);
+                   scp->accept_mode == ACC_IMMED)
                        return -ENOTCONN;
-               }
 
                memcpy(sa, &scp->peer, sizeof(struct sockaddr_dn));
        } else {
@@ -1366,7 +1365,7 @@ static int __dn_setsockopt(struct socket *sock, int level,int optname, char __us
                        if (optlen != sizeof(struct optdata_dn))
                                return -EINVAL;
 
-                       if (dn_ntohs(u.opt.opt_optl) > 16)
+                       if (u.opt.opt_optl > 16)
                                return -EINVAL;
 
                        memcpy(&scp->conndata_out, &u.opt, optlen);
@@ -1379,7 +1378,7 @@ static int __dn_setsockopt(struct socket *sock, int level,int optname, char __us
                        if (optlen != sizeof(struct optdata_dn))
                                return -EINVAL;
 
-                       if (dn_ntohs(u.opt.opt_optl) > 16)
+                       if (u.opt.opt_optl > 16)
                                return -EINVAL;
 
                        memcpy(&scp->discdata_out, &u.opt, optlen);
@@ -1694,7 +1693,7 @@ static int dn_recvmsg(struct kiocb *iocb, struct socket *sock,
        if (rv)
                goto out;
 
-       if (flags & ~(MSG_CMSG_COMPAT|MSG_PEEK|MSG_OOB|MSG_WAITALL|MSG_DONTWAIT|MSG_NOSIGNAL)) {
+       if (flags & ~(MSG_PEEK|MSG_OOB|MSG_WAITALL|MSG_DONTWAIT|MSG_NOSIGNAL)) {
                rv = -EOPNOTSUPP;
                goto out;
        }