rosc is a dependency-free ROS client implementation in ANSI C (catkin required to build, but not on the target system to run the node) which aims to support small embedded systems as well as any operating system. Its long-term goal is to become a hardened, efficient and highly portable implementation of the ROS middleware, making it a good choice for use in industrial applications or product development.
rosc alpha supports subscribers and publishers, with some known issues with nested messages currently remaining, maybe also with dynamic arrays.
See Doxygen Documentation at: http://synapticon.github.io/rosc/