Zawsze należy dołączyć plik 'ax25.h', 'netrom.h' i rose.h' jeśli masz do czynienia z tymi protokołami. Prosty szkielet górnej części wyglądałby tak:
Dla AX.25:
#include <ax25.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_AX25
Dla NetRom:
#include <ax25.h>
#include <netrom.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_NETROM;
Dla Rose:
#include <ax25.h>
#include <rose.h>
int s, addrlen = sizeof(struct sockaddr_rose);
struct sockaddr_rose sockaddr;
sockaddr.srose_family = AF_ROSE;
W bibliotekach /lib/ax25.a zawartych w pakiecie progamów narzędziowych ax25-utils znajdują się wbudowane rutyny konwerujące znaki wywoławcze. Jeśli chcesz możesz napisać swoje własne.
Program narzędziowy user_call jest wyśmienitym przykładem na początek. Źródła dla tych rutyn zawarte są w pakiecie programów narzędziowych AX.25-utils. Po spędzeniu paru chwil pracując nad nimi zauważysz, że 90 procent roboty to przygotowanie otworzenia 'socket-u'. Wykonanie łączności jest łatwe podczas gdy przygotowanie zajmuje trochę czasu.
Przykłady są na tyle proste, że nie wprowadzają zamieszania. Jeśli masz jakieś pytanie to kieruj je na listę linux-hams, gdzie znajdą się ludzie gotowi udzielć ci odpowiedzi.