From e0182ab118d218cfc0589fae99dbcf5806bdfabd Mon Sep 17 00:00:00 2001 From: hoelscher <jens.hoelscher@fh-muenster.de> Date: Tue, 20 Oct 2015 04:00:16 +0200 Subject: [PATCH] Add struct for sctp_events --- gtests/net/packetdrill/run_system_call.c | 3 +++ gtests/net/packetdrill/script.h | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/gtests/net/packetdrill/run_system_call.c b/gtests/net/packetdrill/run_system_call.c index 782f9a3f..7e687115 100644 --- a/gtests/net/packetdrill/run_system_call.c +++ b/gtests/net/packetdrill/run_system_call.c @@ -3759,6 +3759,9 @@ static int check_sctp_notification(struct iovec *iov, case EXPR_ELLIPSIS: break; default: + asprintf(error, "Bad type for iov_base. Can't check type %s", + expression_type_to_string(script_iov_base->type)); + return STATUS_ERR; break; } i++; diff --git a/gtests/net/packetdrill/script.h b/gtests/net/packetdrill/script.h index effbd571..95ca7231 100644 --- a/gtests/net/packetdrill/script.h +++ b/gtests/net/packetdrill/script.h @@ -56,6 +56,7 @@ enum expression_t { EXPR_SCTP_PEER_ADDR_PARAMS, /* struct for sctp_paddrparams for SCTP_PEER_ADDR_PARAMS */ EXPR_SCTP_ASSOCPARAMS, /* struct sctp_assocparams for SCTP_ASSOCINFO */ EXPR_SCTP_EVENT, /* struct sctp_event for SCTP_EVENT */ + EXPR_SCTP_EVENT_SUBSCRIBE,/* struct sctp_event_subscribe for SCTP_EVENTS */ EXPR_SCTP_SNDINFO, /* struct sctp_sndinfo for SCTP_DEFAULT_SNDINFO */ EXPR_SCTP_SETADAPTATION, /* struct sctp_setadaptation for SCTP_ADATTATION_LAYER */ EXPR_SCTP_SNDRCVINFO, /* struct sctp_sndrcvinfo for syscall sctp_recvmsg */ @@ -95,6 +96,7 @@ struct expression { struct sctp_stream_value_expr *sctp_stream_value; struct sctp_assocparams_expr *sctp_assocparams; struct sctp_event_expr *sctp_event; + struct sctp_event_subscribe_expr *sctp_event_subscribe; struct sctp_sndinfo_expr *sctp_sndinfo; struct sctp_setadaptation_expr *sctp_setadaptation; struct sctp_sndrcvinfo_expr *sctp_sndrcvinfo; @@ -232,6 +234,20 @@ struct sctp_event_expr { struct expression *se_on; }; +/* Parse tree for sctp_event_subscribe struct in [gs]etsockopt syscall. */ +struct sctp_event_subscribe_expr { + struct expression *sctp_data_io_event; + struct expression *sctp_association_event; + struct expression *sctp_address_event; + struct expression *sctp_send_failure_event; + struct expression *sctp_peer_error_event; + struct expression *sctp_shutdown_event; + struct expression *sctp_partial_delivery_event; + struct expression *sctp_adaptation_layer_event; + struct expression *sctp_authentication_event; + struct expression *sctp_sender_dry_event; +}; + /* Parse tree for sctp_sndinfo struct in [gs]etsockopt syscall. */ struct sctp_sndinfo_expr { struct expression *snd_sid; -- GitLab