libpsyc source code from git://git.psyc.eu/libpsyc
Go to file
psyc://loupsycedyglgamf.onion/~lynX 1da751f54c allow 'make check' from outside test directory 1984-04-04 00:44:06 +00:00
bench Merge branch 'master' of l:libpsyc 2016-01-30 00:33:26 +01:00
d added state op return codes for psyc_parse, added stateop to PsycPacket 2011-11-09 21:22:58 +01:00
doc refactoring - renamed functions 2011-10-31 20:04:16 +01:00
emacs modifier, psyc-mode fix 2012-02-15 22:39:19 +01:00
include Switch static inline to inline 2016-08-21 09:58:36 +02:00
lib psyc_text: added extra param 2011-06-12 21:04:11 +02:00
perl some swig code, needs more work 2011-09-12 11:44:48 +02:00
pike psyc_is_var_routing() -> psyc_var_routing() 2012-01-31 19:34:11 +01:00
python some swig code, needs more work 2011-09-12 11:44:48 +02:00
rust first version of the rust bindings: parsing and rendering is mostly functional 2016-08-23 00:04:57 +02:00
src Switch static inline to inline 2016-08-21 09:58:36 +02:00
test allow 'make check' from outside test directory 1984-04-04 00:44:06 +00:00
.gitignore dict syntax; index & update mod parser; psyc-mode for emacs 2012-02-06 15:05:08 +01:00
COPYING copying 2013-06-23 21:20:49 +02:00
Doxyfile dox: extract static 2011-05-30 04:05:13 +02:00
INSTALL.org + 2016-01-29 23:33:29 +00:00
Makefile + 2016-01-29 23:33:29 +00:00
README.org Merge branch 'master' of l:libpsyc 2016-01-30 00:33:26 +01:00

README.org

libpsyc README file

About

libpsyc implements various functions required to use PSYC.

The plain C API located in the include/psyc directory along with the file psyc.h is primarily intended to be used for binding with other languages and frameworks.

The LPC binding for psyced is distributed with psyclpc since it is spread over several files (LPC has no simple approach to binding). Other bindings are located directly in the root folder named according to the language or framework. Currently there's only a binding for D.

C API

The "plain C API" is a very low-level API intended to be used for bindings. To access a certain module of the library, just include the according header file from the psyc directory:

#include <psyc.h>        // basic things for well-being
#include <psyc/parse.h>  // parse psyc packets
#include <psyc/render.h> // render psyc packets
#include <psyc/text.h>   // text template functions
#include <psyc/packet.h> // structures for render.h and functions to initialize them
#include <psyc/syntax.h> // definitions and constants related to parsing and rendering

For more information see the API documentation at http://lib.psyc.eu/doc/.

Directory Overview

doc/      # target folder for the documentation after generation (make doc)
include/  # the core C API for the library
lib/      # target folder for the compiled library (make)
src/      # the sourcecode of the library
test/     # test sourcecodes and test input files
d/        # the D binding

Compiling libpsyc

On GNU systems, type

make

On other systems install GNU make, then type

gmake

and you are done. Other possible targets include:

make install [prefix=/usr]  # install into prefix
make diet                   # compile with diet libc
make test                   # compile and run the tests
make doc                    # generate the API documentation (will be put in the doc folder)
make help                   # display the possible targets

Requirements

libpsyc is currently known to compile under Linux and SunOS.

Contact

If you created new bindings, patches or anything other that you think should go into the library, contact either anyone of us directly or just join the development room at

  • psyc://psyced.org/@welcome
  • irc://psyced.org/welcome
  • xmpp:*welcome@psyced.org

Authors

This library is being developed by:

  • Carlo v. Loesch / lynX <psyc://psyced.org/~lynX>
  • Gabor X Toth / tg(x) <tg-x.net> <psyc://psyced.org/~tg>
  • Mathias L. Baumann / Marenz <psyc://supraverse.net/~marenz>

License

Unless indicated otherwise, all libpsyc source files use the AGPL with additional permissions to link libpsyc libraries with non-AGPL works; the full text of the license is located in the COPYING file with the linking exception at the end.

Style Wars

This source code should follow the http://about.psyc.eu/Indent conventions. (if you have good reasons to use another style, discuss it on the wiki page so that it becomes the general style convention for all of us, not just for you).