Interfacing with a MRF24j40 802.15.4 Transeiver

I would like to get a Microchip MRF24j40 802.15.4 transceiver working on my Beagleboard Mx. I have currently have sensor nodes using this transceiver running on Arduinos but I would like to setup my beagleboard to function as a sort of “router.” On the Arduino the transceiver uses an interrupt pin to signal when it receives a packet, completes a transmission, or any other event that requires action from the Arduino. This is pretty much the same thing that I would like to implement on the beagleboard.

I am pretty comfortable in Linux and I am a competent C programmer but this is my first time trying to interface with hardware in Linux. From what I have read, I am thinking I will kickoff a C program that initializes the transceiver and then sits in the background and uses the “poll” function to wait for the interrupt. But if I set it up this way, I am not sure how to tell the program when I want to transmit something. Am I on the right track or is there a better way to implement this functionality?

Also, any references material you can recommend for doing this type of thing would be greatly appreciated.