summaryrefslogtreecommitdiff
path: root/libguile/foreign-object.h
AgeCommit message (Collapse)AuthorFilesLines
2018-06-20Update license notices in all C filesAndy Wingo1-17/+17
Update to newest recommended license notices from the FSF. Everything stays LGPLv3+ except guile-readline which is GPLv3+.
2018-06-20libguile header files have uniform format for copyright declarationsAndy Wingo1-1/+2
2018-06-20Remove (C) from copyright statementsAndy Wingo1-1/+1
As the FSF advises, 'There is no legal significance to using the three-character sequence “(C)”, but it does no harm.' It does take up space though! For that reason, we remove it here from our C files.
2018-06-20Rename __scm.h to scm.hAndy Wingo1-2/+1
* libguile/scm.h: Rename. Update all includers.
2014-04-28Add more foreign object interfacesAndy Wingo1-9/+22
* libguile/foreign-object.c: * libguile/foreign-object.h (scm_make_foreign_object_1) (scm_make_foreign_object_2, scm_make_foreign_object_3) (scm_make_foreign_object_n): Change to take void * arguments, and to add a comment to the header indicating that these are convenience constructors. * libguile/foreign-object.c: * libguile/foreign-object.h (scm_foreign_object_unsigned_ref) (scm_foreign_object_unsigned_set_x): New functions, equivalent to the old scm_foreign_object_ref and scm_foreign_object_set_x. * libguile/foreign-object.c: * libguile/foreign-object.h (scm_foreign_object_signed_ref) (scm_foreign_object_signed_set_x): New functions taking scm_t_signed_bits. * libguile/foreign-object.c: * libguile/foreign-object.h (scm_foreign_object_ref) (scm_foreign_object_set_x): New functions that take void*.
2014-04-28Add scm_make_foreign_object_0; optimize scm_make_foreign_object_n.Andy Wingo1-0/+1
* libguile/foreign-object.c (scm_make_foreign_object_0): New function. (scm_make_foreign_object_n): Pre-fetch layout_chars. * libguile/foreign-object.h: Add scm_make_foreign_object_0.
2014-04-28New foreign object facility, to replace SMOBsAndy Wingo1-0/+48
* libguile/foreign-object.c: * libguile/foreign-object.h: * module/system/foreign-object.scm: * test-suite/standalone/test-foreign-object-c.c: * test-suite/standalone/test-foreign-object-scm: New files. * test-suite/standalone/Makefile.am: * module/Makefile.am: * libguile/Makefile.am: Add new files. * libguile.h: Add foreign-object.h. * libguile/init.c (scm_i_init_guile): Call scm_register_foreign_object.