NordicSemiconductor/ble-sdk-arduino — pull request #13 by DEGoodmanWilson (2014-12-05 20:16:38+00:00)
Title: Additional includes needed when library is used outside of .ino file

To reproduce:
Create a new project with additional .c/.cpp files. Include the BLE library in the project, and copy all those includes to one of the .c files as well. Make calls to the BLE library from that external .c file. Project will fail to compile, complaining of unknown types. These includes get the type definitions in the right place for successful compilation.

There might be a better way to handle this case, but at any rate, this worked for me, and I just thought I'd share.