/* * ${project trunk_name} - ${project trunk_description} * Copyright (C) ${date %Y} ${user name} * Written by ${user email} * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . */ #include #include #include #include #include #include <${trim_ext $filename}.h> #ifdef ${upcase ${basename $filename .c}} static void print_data(const explain_iocontrol_t *p, explain_string_buffer_t *sb, int errnum, int fildes, int request, const void *data) { (void)p; (void)errnum; (void)fildes; (void)request; explain_buffer_${basename $filename .c}(sb, data); } static void print_explanation(const explain_iocontrol_t *p, explain_string_buffer_t *sb, int errnum, int fildes, int request, const void *data) { switch (errnum) { case EINVAL: if (!data) { explain_buffer_is_the_null_pointer(sb, "data"); return; } ... break; default: explain_iocontrol_generic_print_explanation ( p, sb, errnum, fildes, request, data ); break; } } static void print_data_returned(const explain_iocontrol_t *p, explain_string_buffer_t *sb, int errnum, int fildes, int request, const void *data) { (void)p; (void)errnum; (void)fildes; (void)request; explain_buffer_${basename $filename .c}(sb, data); } const explain_iocontrol_t explain_iocontrol_${basename $filename .c} = { "${upcase ${basename $filename .c}}", /* name */ ${upcase ${basename $filename .c}}, /* value */ 0, /* disambiguate */ 0, /* print_name */ 0, /* print_data */ print_explanation, 0, /* print_data_returned */ sizeof(struct ${basename $filename .c}), /* data_size */ "struct ${basename $filename .c} *", /* data_type */ 0, /* flags */ __FILE__, __LINE__, }; #else /* ndef ${upcase ${basename $filename .c}} */ const explain_iocontrol_t explain_iocontrol_${basename $filename .c} = { 0, /* name */ 0, /* value */ 0, /* disambiguate */ 0, /* print_name */ 0, /* print_data */ 0, /* print_explanation */ 0, /* print_data_returned */ 0, /* data_size */ 0, /* data_type */ 0, /* flags */ __FILE__, __LINE__, }; #endif /* ${upcase ${basename $filename .c}} */ /* vim: set ts=8 sw=4 et : */