diff options
Diffstat (limited to 'include/net/sctp/structs.h')
-rw-r--r-- | include/net/sctp/structs.h | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 47727c7cc628..994009bbe3b4 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -445,7 +445,8 @@ struct sctp_ssnmap { | |||
445 | int malloced; | 445 | int malloced; |
446 | }; | 446 | }; |
447 | 447 | ||
448 | struct sctp_ssnmap *sctp_ssnmap_new(__u16 in, __u16 out, int gfp); | 448 | struct sctp_ssnmap *sctp_ssnmap_new(__u16 in, __u16 out, |
449 | unsigned int __nocast gfp); | ||
449 | void sctp_ssnmap_free(struct sctp_ssnmap *map); | 450 | void sctp_ssnmap_free(struct sctp_ssnmap *map); |
450 | void sctp_ssnmap_clear(struct sctp_ssnmap *map); | 451 | void sctp_ssnmap_clear(struct sctp_ssnmap *map); |
451 | 452 | ||
@@ -582,7 +583,6 @@ void sctp_datamsg_track(struct sctp_chunk *); | |||
582 | void sctp_chunk_fail(struct sctp_chunk *, int error); | 583 | void sctp_chunk_fail(struct sctp_chunk *, int error); |
583 | int sctp_chunk_abandoned(struct sctp_chunk *); | 584 | int sctp_chunk_abandoned(struct sctp_chunk *); |
584 | 585 | ||
585 | |||
586 | /* RFC2960 1.4 Key Terms | 586 | /* RFC2960 1.4 Key Terms |
587 | * | 587 | * |
588 | * o Chunk: A unit of information within an SCTP packet, consisting of | 588 | * o Chunk: A unit of information within an SCTP packet, consisting of |
@@ -592,13 +592,8 @@ int sctp_chunk_abandoned(struct sctp_chunk *); | |||
592 | * each chunk as well as a few other header pointers... | 592 | * each chunk as well as a few other header pointers... |
593 | */ | 593 | */ |
594 | struct sctp_chunk { | 594 | struct sctp_chunk { |
595 | /* These first three elements MUST PRECISELY match the first | 595 | struct list_head list; |
596 | * three elements of struct sk_buff. This allows us to reuse | 596 | |
597 | * all the skb_* queue management functions. | ||
598 | */ | ||
599 | struct sctp_chunk *next; | ||
600 | struct sctp_chunk *prev; | ||
601 | struct sk_buff_head *list; | ||
602 | atomic_t refcnt; | 597 | atomic_t refcnt; |
603 | 598 | ||
604 | /* This is our link to the per-transport transmitted list. */ | 599 | /* This is our link to the per-transport transmitted list. */ |
@@ -717,7 +712,7 @@ struct sctp_packet { | |||
717 | __u32 vtag; | 712 | __u32 vtag; |
718 | 713 | ||
719 | /* This contains the payload chunks. */ | 714 | /* This contains the payload chunks. */ |
720 | struct sk_buff_head chunks; | 715 | struct list_head chunk_list; |
721 | 716 | ||
722 | /* This is the overhead of the sctp and ip headers. */ | 717 | /* This is the overhead of the sctp and ip headers. */ |
723 | size_t overhead; | 718 | size_t overhead; |
@@ -951,7 +946,8 @@ struct sctp_transport { | |||
951 | } cacc; | 946 | } cacc; |
952 | }; | 947 | }; |
953 | 948 | ||
954 | struct sctp_transport *sctp_transport_new(const union sctp_addr *, int); | 949 | struct sctp_transport *sctp_transport_new(const union sctp_addr *, |
950 | unsigned int __nocast); | ||
955 | void sctp_transport_set_owner(struct sctp_transport *, | 951 | void sctp_transport_set_owner(struct sctp_transport *, |
956 | struct sctp_association *); | 952 | struct sctp_association *); |
957 | void sctp_transport_route(struct sctp_transport *, union sctp_addr *, | 953 | void sctp_transport_route(struct sctp_transport *, union sctp_addr *, |
@@ -974,7 +970,7 @@ struct sctp_inq { | |||
974 | /* This is actually a queue of sctp_chunk each | 970 | /* This is actually a queue of sctp_chunk each |
975 | * containing a partially decoded packet. | 971 | * containing a partially decoded packet. |
976 | */ | 972 | */ |
977 | struct sk_buff_head in; | 973 | struct list_head in_chunk_list; |
978 | /* This is the packet which is currently off the in queue and is | 974 | /* This is the packet which is currently off the in queue and is |
979 | * being worked on through the inbound chunk processing. | 975 | * being worked on through the inbound chunk processing. |
980 | */ | 976 | */ |
@@ -1017,7 +1013,7 @@ struct sctp_outq { | |||
1017 | struct sctp_association *asoc; | 1013 | struct sctp_association *asoc; |
1018 | 1014 | ||
1019 | /* Data pending that has never been transmitted. */ | 1015 | /* Data pending that has never been transmitted. */ |
1020 | struct sk_buff_head out; | 1016 | struct list_head out_chunk_list; |
1021 | 1017 | ||
1022 | unsigned out_qlen; /* Total length of queued data chunks. */ | 1018 | unsigned out_qlen; /* Total length of queued data chunks. */ |
1023 | 1019 | ||
@@ -1025,7 +1021,7 @@ struct sctp_outq { | |||
1025 | unsigned error; | 1021 | unsigned error; |
1026 | 1022 | ||
1027 | /* These are control chunks we want to send. */ | 1023 | /* These are control chunks we want to send. */ |
1028 | struct sk_buff_head control; | 1024 | struct list_head control_chunk_list; |
1029 | 1025 | ||
1030 | /* These are chunks that have been sacked but are above the | 1026 | /* These are chunks that have been sacked but are above the |
1031 | * CTSN, or cumulative tsn ack point. | 1027 | * CTSN, or cumulative tsn ack point. |
@@ -1099,9 +1095,10 @@ void sctp_bind_addr_init(struct sctp_bind_addr *, __u16 port); | |||
1099 | void sctp_bind_addr_free(struct sctp_bind_addr *); | 1095 | void sctp_bind_addr_free(struct sctp_bind_addr *); |
1100 | int sctp_bind_addr_copy(struct sctp_bind_addr *dest, | 1096 | int sctp_bind_addr_copy(struct sctp_bind_addr *dest, |
1101 | const struct sctp_bind_addr *src, | 1097 | const struct sctp_bind_addr *src, |
1102 | sctp_scope_t scope, int gfp,int flags); | 1098 | sctp_scope_t scope, unsigned int __nocast gfp, |
1099 | int flags); | ||
1103 | int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *, | 1100 | int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *, |
1104 | int gfp); | 1101 | unsigned int __nocast gfp); |
1105 | int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *); | 1102 | int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *); |
1106 | int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *, | 1103 | int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *, |
1107 | struct sctp_sock *); | 1104 | struct sctp_sock *); |
@@ -1110,9 +1107,10 @@ union sctp_addr *sctp_find_unmatch_addr(struct sctp_bind_addr *bp, | |||
1110 | int addrcnt, | 1107 | int addrcnt, |
1111 | struct sctp_sock *opt); | 1108 | struct sctp_sock *opt); |
1112 | union sctp_params sctp_bind_addrs_to_raw(const struct sctp_bind_addr *bp, | 1109 | union sctp_params sctp_bind_addrs_to_raw(const struct sctp_bind_addr *bp, |
1113 | int *addrs_len, int gfp); | 1110 | int *addrs_len, |
1111 | unsigned int __nocast gfp); | ||
1114 | int sctp_raw_to_bind_addrs(struct sctp_bind_addr *bp, __u8 *raw, int len, | 1112 | int sctp_raw_to_bind_addrs(struct sctp_bind_addr *bp, __u8 *raw, int len, |
1115 | __u16 port, int gfp); | 1113 | __u16 port, unsigned int __nocast gfp); |
1116 | 1114 | ||
1117 | sctp_scope_t sctp_scope(const union sctp_addr *); | 1115 | sctp_scope_t sctp_scope(const union sctp_addr *); |
1118 | int sctp_in_scope(const union sctp_addr *addr, const sctp_scope_t scope); | 1116 | int sctp_in_scope(const union sctp_addr *addr, const sctp_scope_t scope); |
@@ -1241,7 +1239,7 @@ static inline struct sctp_endpoint *sctp_ep(struct sctp_ep_common *base) | |||
1241 | } | 1239 | } |
1242 | 1240 | ||
1243 | /* These are function signatures for manipulating endpoints. */ | 1241 | /* These are function signatures for manipulating endpoints. */ |
1244 | struct sctp_endpoint *sctp_endpoint_new(struct sock *, int); | 1242 | struct sctp_endpoint *sctp_endpoint_new(struct sock *, unsigned int __nocast); |
1245 | void sctp_endpoint_free(struct sctp_endpoint *); | 1243 | void sctp_endpoint_free(struct sctp_endpoint *); |
1246 | void sctp_endpoint_put(struct sctp_endpoint *); | 1244 | void sctp_endpoint_put(struct sctp_endpoint *); |
1247 | void sctp_endpoint_hold(struct sctp_endpoint *); | 1245 | void sctp_endpoint_hold(struct sctp_endpoint *); |
@@ -1262,7 +1260,7 @@ int sctp_verify_init(const struct sctp_association *asoc, sctp_cid_t, | |||
1262 | struct sctp_chunk **err_chunk); | 1260 | struct sctp_chunk **err_chunk); |
1263 | int sctp_process_init(struct sctp_association *, sctp_cid_t cid, | 1261 | int sctp_process_init(struct sctp_association *, sctp_cid_t cid, |
1264 | const union sctp_addr *peer, | 1262 | const union sctp_addr *peer, |
1265 | sctp_init_chunk_t *init, int gfp); | 1263 | sctp_init_chunk_t *init, unsigned int __nocast gfp); |
1266 | __u32 sctp_generate_tag(const struct sctp_endpoint *); | 1264 | __u32 sctp_generate_tag(const struct sctp_endpoint *); |
1267 | __u32 sctp_generate_tsn(const struct sctp_endpoint *); | 1265 | __u32 sctp_generate_tsn(const struct sctp_endpoint *); |
1268 | 1266 | ||
@@ -1672,7 +1670,7 @@ struct sctp_association { | |||
1672 | * which already resides in sctp_outq. Please move this | 1670 | * which already resides in sctp_outq. Please move this |
1673 | * queue and its supporting logic down there. --piggy] | 1671 | * queue and its supporting logic down there. --piggy] |
1674 | */ | 1672 | */ |
1675 | struct sk_buff_head addip_chunks; | 1673 | struct list_head addip_chunk_list; |
1676 | 1674 | ||
1677 | /* ADDIP Section 4.1 ASCONF Chunk Procedures | 1675 | /* ADDIP Section 4.1 ASCONF Chunk Procedures |
1678 | * | 1676 | * |
@@ -1725,7 +1723,7 @@ static inline struct sctp_association *sctp_assoc(struct sctp_ep_common *base) | |||
1725 | 1723 | ||
1726 | struct sctp_association * | 1724 | struct sctp_association * |
1727 | sctp_association_new(const struct sctp_endpoint *, const struct sock *, | 1725 | sctp_association_new(const struct sctp_endpoint *, const struct sock *, |
1728 | sctp_scope_t scope, int gfp); | 1726 | sctp_scope_t scope, unsigned int __nocast gfp); |
1729 | void sctp_association_free(struct sctp_association *); | 1727 | void sctp_association_free(struct sctp_association *); |
1730 | void sctp_association_put(struct sctp_association *); | 1728 | void sctp_association_put(struct sctp_association *); |
1731 | void sctp_association_hold(struct sctp_association *); | 1729 | void sctp_association_hold(struct sctp_association *); |
@@ -1741,7 +1739,7 @@ int sctp_assoc_lookup_laddr(struct sctp_association *asoc, | |||
1741 | const union sctp_addr *laddr); | 1739 | const union sctp_addr *laddr); |
1742 | struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *, | 1740 | struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *, |
1743 | const union sctp_addr *address, | 1741 | const union sctp_addr *address, |
1744 | const int gfp, | 1742 | const unsigned int __nocast gfp, |
1745 | const int peer_state); | 1743 | const int peer_state); |
1746 | void sctp_assoc_del_peer(struct sctp_association *asoc, | 1744 | void sctp_assoc_del_peer(struct sctp_association *asoc, |
1747 | const union sctp_addr *addr); | 1745 | const union sctp_addr *addr); |
@@ -1765,9 +1763,11 @@ void sctp_assoc_rwnd_increase(struct sctp_association *, unsigned); | |||
1765 | void sctp_assoc_rwnd_decrease(struct sctp_association *, unsigned); | 1763 | void sctp_assoc_rwnd_decrease(struct sctp_association *, unsigned); |
1766 | void sctp_assoc_set_primary(struct sctp_association *, | 1764 | void sctp_assoc_set_primary(struct sctp_association *, |
1767 | struct sctp_transport *); | 1765 | struct sctp_transport *); |
1768 | int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *, int); | 1766 | int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *, |
1767 | unsigned int __nocast); | ||
1769 | int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *, | 1768 | int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *, |
1770 | struct sctp_cookie*, int gfp); | 1769 | struct sctp_cookie*, |
1770 | unsigned int __nocast gfp); | ||
1771 | 1771 | ||
1772 | int sctp_cmp_addr_exact(const union sctp_addr *ss1, | 1772 | int sctp_cmp_addr_exact(const union sctp_addr *ss1, |
1773 | const union sctp_addr *ss2); | 1773 | const union sctp_addr *ss2); |