/* * ejabberd external authentication program * * (c) Alexander Vdolainen 2013, 2018, 2019, 2021 * * this is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * this 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see ."; * */ #ifndef __EPORT_H__ #define __EPORT_H__ #include /* returns -1 in case of error, see errno than, or bytes ridden otherwise */ ssize_t eport_read(FILE *, char *, size_t); /* returns -1 in case of error, see errno than, or bytes written otherwise */ ssize_t eport_write(FILE *, char *, size_t); /* returns -1 in case of error, otherwise returns a number of * elements ridden from the message data * message structure shall be preallocated, but pointers within it are not, * e.g. all contents are set by this function. * pointer is a message data content with size. * NOTE: this function modifies the message data content, however freeing and * allocation shall be done outside of this function. */ int eport_ejabberd_msgread(char *, size_t, struct ejabber_msg *); #endif /* __EPORT_H__ */