gprs-ns/test: Save the last PDU type sent

This records the PDU type of the last message sent to the remote peer
in the global variable sent_pdu_type, which can then be used in
assertions.

Note that sent_pdu_type will remain unchanged if no message has been
sent via sendto.

Sponsored-by: On-Waves ehf
This commit is contained in:
Jacob Erlbeck 2014-10-07 13:59:30 +02:00 committed by Holger Hans Peter Freyther
parent f357c87724
commit 2381fded68
1 changed files with 4 additions and 0 deletions

View File

@ -32,6 +32,8 @@
#define SGSN_NSEI 0x0100
static int sent_pdu_type = 0;
static int gprs_process_message(struct gprs_ns_inst *nsi, const char *text,
struct sockaddr_in *peer, const unsigned char* data,
size_t data_len);
@ -265,6 +267,8 @@ ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
if (!real_sendto)
real_sendto = dlsym(RTLD_NEXT, "sendto");
sent_pdu_type = len > 0 ? ((uint8_t *)buf)[0] : -1;
if (dest_host == REMOTE_BSS_ADDR)
printf("MESSAGE to BSS, msg length %d\n%s\n\n", len, osmo_hexdump(buf, len));
else if (dest_host == REMOTE_SGSN_ADDR)