diff options
Diffstat (limited to 'include/net/sctp/sm.h')
| -rw-r--r-- | include/net/sctp/sm.h | 18 | 
1 files changed, 14 insertions, 4 deletions
diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h index 70fb397f65b0..2883c43c5258 100644 --- a/include/net/sctp/sm.h +++ b/include/net/sctp/sm.h @@ -197,10 +197,14 @@ struct sctp_chunk *sctp_make_cookie_ack(const struct sctp_association *asoc,  struct sctp_chunk *sctp_make_cwr(const struct sctp_association *asoc,  				 const __u32 lowest_tsn,  				 const struct sctp_chunk *chunk); -struct sctp_chunk *sctp_make_datafrag_empty(struct sctp_association *asoc, +struct sctp_chunk *sctp_make_idata(const struct sctp_association *asoc, +				   __u8 flags, int paylen, gfp_t gfp); +struct sctp_chunk *sctp_make_ifwdtsn(const struct sctp_association *asoc, +				     __u32 new_cum_tsn, size_t nstreams, +				     struct sctp_ifwdtsn_skip *skiplist); +struct sctp_chunk *sctp_make_datafrag_empty(const struct sctp_association *asoc,  					    const struct sctp_sndrcvinfo *sinfo, -					    int len, const __u8 flags, -					    __u16 ssn, gfp_t gfp); +					    int len, __u8 flags, gfp_t gfp);  struct sctp_chunk *sctp_make_ecne(const struct sctp_association *asoc,  				  const __u32 lowest_tsn);  struct sctp_chunk *sctp_make_sack(const struct sctp_association *asoc); @@ -342,7 +346,7 @@ static inline __u16 sctp_data_size(struct sctp_chunk *chunk)  	__u16 size;  	size = ntohs(chunk->chunk_hdr->length); -	size -= sizeof(struct sctp_data_chunk); +	size -= sctp_datahdr_len(&chunk->asoc->stream);  	return size;  } @@ -358,6 +362,12 @@ static inline __u16 sctp_data_size(struct sctp_chunk *chunk)  	 typecheck(__u32, b) && \  	 ((__s32)((a) - (b)) <= 0)) +/* Compare two MIDs */ +#define MID_lt(a, b)	\ +	(typecheck(__u32, a) && \ +	 typecheck(__u32, b) && \ +	 ((__s32)((a) - (b)) < 0)) +  /* Compare two SSNs */  #define SSN_lt(a,b)		\  	(typecheck(__u16, a) && \  | 
