diff --git a/include/patty/ax25/frame.h b/include/patty/ax25/frame.h index 2b9a517..bbfba29 100644 --- a/include/patty/ax25/frame.h +++ b/include/patty/ax25/frame.h @@ -44,4 +44,8 @@ ssize_t patty_ax25_frame_decode(patty_ax25_frame *frame, ssize_t patty_ax25_frame_info(patty_ax25_frame *frame, void **info); +int patty_ax25_frame_addresed_to(patty_ax25_frame *frame, + char *station, + uint8_t ssid); + #endif /* _PATTY_AX25_FRAME_H */ diff --git a/src/frame.c b/src/frame.c index 64e6998..209445f 100644 --- a/src/frame.c +++ b/src/frame.c @@ -257,3 +257,12 @@ ssize_t patty_ax25_frame_info(patty_ax25_frame *frame, error_invalid_args: return -1; } + +int patty_ax25_frame_addresed_to(patty_ax25_frame *frame, + char *station, + uint8_t ssid) { + return strncmp(frame->dest.callsign, + station, + PATTY_AX25_ADDRESS_CALLSIGN_LEN) == 0 + && frame->dest.ssid == ssid; +}