I'm planning to use Zigbee on a Linux embedded computer.
Is there such thing as a Zigbee Linux stack ? (similar to a TCP/IP stack)
Is it included in mainline kernel ?
Ideally, I would like to have a minimalist USB Zigbee RF (802.15.4) transceiver connected to an embedded computer and most of the work would be done in this Zigbee software stack.
Does such a thing exist ?
Yes, this is described at Documentation/networking/ieee802154.txt. What you are looking for is most likely this excerpt:
int sd = socket(PF_IEEE802154, SOCK_DGRAM, 0);
The address family, socket addresses etc. are defined in the
include/net/af_ieee802154.hheader or in the special header in the userspace package (see either http://wpan.cakelab.org/ or the git tree at https://github.com/linux-wpan/wpan-tools).
One can use
SOCK_RAWfor passing raw data towards device
See also this question.