%(c_comment template "header_gpl")

static char _%(basename FILE)_errmsg[BUFSIZ + 1] = "No error";

%(c_delim fn after="_init" basename FILE)
void %(basename FILE)_init (void)
{
}

%(c_delim fn after="_destroy" basename FILE)
void %(basename FILE)_destroy (void)
{
}

%(c_delim fn after="_perror" basename FILE)
void %(basename FILE)_perror (char *msg)
{
	fprintf (stderr, "%s: %s\n", msg, _%(basename FILE)_errmsg);
}

%(c_delim fn after="_strerror" basename FILE)
char *%(basename FILE)_strerror (void)
{
	return _%(basename FILE)_errmsg;
}
