GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
MKD_CALLBACKS(3) FreeBSD Library Functions Manual MKD_CALLBACKS(3)

mkd_callbacks
functions that modify link targets

Markdown (libmarkdown, -lmarkdown)

#include <mkdio.h>
char*
(*mkd_callback_t)(const char*, const int, void*);
void
(*mkd_free_t)(char *, void*);
void
mkd_e_url(MMIOT *document, mkd_callback_t edit);
void
mkd_e_flags(MMIOT *document, mkd_callback_t edit);
void
mkd_e_free(MMIOT *document, mkd_free_t dealloc);
void
mkd_e_data(MMIOT *document, void *data);

Discount provides a small set of data access functions to let a library user modify the targets given in a `[]' link, and to add additional flags to the generated link.
The data access functions are passed a character pointer to the url being generated, the size of the url, and a data pointer pointing to a user data area (set by the mkd_e_data() function.) After the callback function is called (either mkd_e_url() or mkd_e_flags()) the data freeing function (if supplied) is called and passed the character pointer and user data pointer.

The mkd_basename() function (in the module basename.c) is implemented by means of mkd callbacks; it modifies urls that start with a `/' so that they begin with a user-supplied url base by allocating a new string and filling it with the base + the url. Discount plugs that url in in place of the original, then calls the basename free function (it only does this when mkd_e_url() or mkd_e_flags() returns nonzero) to deallocate this memory.
Note that only one level of callbacks are supported; if you wish to do multiple callbacks, you need to write your own code to handle them all.

markdown(1), markdown(3), mkd-line(3), markdown(7), mkd-extensions(7), mmap(2).
basename.c
http://daringfireball.net/projects/markdown/syntax

Error handling is minimal at best.
January 18, 2008 Mastodon

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.