diff --git a/README.md b/README.md index eb39fbf..bc48483 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,33 @@ capnpc-c ======== -This is a C plugin for cap'n'proto aka capnp. +This is a C plugin for [Cap'n Proto](http://kentonv.github.io/capnproto), an +efficient protocol for sharing data and capabilities. This is only the plugin, to properly make use of it you need to download, build and install capnpc and then build and install this project and then you can utilize it as: capnpc compiler/test.capnp -oc + +[![Build Status](https://travis-ci.org/liamstask/c-capnproto.svg?branch=master)](https://travis-ci.org/liamstask/c-capnproto) + +## status + +This is a fork of [James McKaskill's great work](https://github.com/jmckaskill/c-capnproto), which has been untouched for a while, so I've been bringing it up to date with current cap'n proto progress, and doing some doc/testing work. Should the upstream fork become active again, I'd hope to merge any relevant changes back in. + +## usage + +The `compiler` directory contains the C language plugin (`capnpc-c`) for use with the `capnp` tool: https://capnproto.org/capnp-tool.html. + +`capnp` will by default search `$PATH` for `capnpc-c` - if it's on your PATH, you can generate code for your schema as follows: + + $ capnp compile -o c myschema.capnp + +Otherwise, you can specify the path to the c plugin: + + $ capnp compile -o ./capnpc-c myschema.capnp + +`capnp` generates a C struct that corresponds to each capn proto struct, along with read/write functions that convert to/from capn proto form. + +TBD whether it will make sense in the future to provide accessor functions for struct members, rather than converting entire structs. diff --git a/ReadMe.md b/ReadMe.md deleted file mode 100644 index 894aa1c..0000000 --- a/ReadMe.md +++ /dev/null @@ -1,26 +0,0 @@ - -# c-capnproto - -C support for [Cap'n Proto](http://kentonv.github.io/capnproto), an efficient protocol for sharing data and capabilities. - -[![Build Status](https://travis-ci.org/liamstask/c-capnproto.svg?branch=master)](https://travis-ci.org/liamstask/c-capnproto) - -## status - -This is a fork of [James McKaskill's great work](https://github.com/jmckaskill/c-capnproto), which has been untouched for a while, so I've been bringing it up to date with current cap'n proto progress, and doing some doc/testing work. Should the upstream fork become active again, I'd hope to merge any relevant changes back in. - -## usage - -The `compiler` directory contains the C language plugin (`capnpc-c`) for use with the `capnp` tool: https://capnproto.org/capnp-tool.html. - -`capnp` will by default search `$PATH` for `capnpc-c` - if it's on your PATH, you can generate code for your schema as follows: - - $ capnp compile -o c myschema.capnp - -Otherwise, you can specify the path to the c plugin: - - $ capnp compile -o ./capnpc-c myschema.capnp - -`capnp` generates a C struct that corresponds to each capn proto struct, along with read/write functions that convert to/from capn proto form. - -TBD whether it will make sense in the future to provide accessor functions for struct members, rather than converting entire structs.