> the existing API for AX.25 sockets is a bit too liberal concerning
> the size of the sockaddr structure. It makes the code hard to read
> (thus difficult to maintain) and almost impossible to implement
> alternative ideas. In fact, we have three different structures to
> choose from:

1003.1g says the user is entitled to use any buffer size they like and
get half a sockaddr back. Going the other way (eg connect) we are quite
in the right to require the full sockaddr.

> - struct sockaddr_ax25 (obsolete, does not allow digipeaters)

Its also useful because it fits inside a struct sockaddr, so generic
programs can still get the type and destination if not the AX.25 specific
magic. Thats intentional

> - remove support for struct sockaddr_ax25

Please dont

> - issues a warning for struct full_sockaddr_ax25 with 6 digipeaters

Good

> - only accepts either struct full_sockaddr_ax25 variants

For connect() and those where we provide the addres - yes.

> The background is that we want to prepare the API for further
> extensions (binding to interfaces instead of call signs, for example)

Binding to interfaces has an API already (see the IP space) 
SO_BINDTODEVICE

Alan

Reply via email to