#include #include #include #include "dpid_common.h" /* * Send a verbose error message. */ void errmsg(char *caller, char *called, int errornum, char *file, int line) { MSG_ERR("%s:%d: %s: %s\n", file, line, caller, called); if (errornum > 0) MSG_ERR("%s\n", dStrerror(errornum)); } /*! Selector function for scandir * Do not scan files starting with '.' */ int no_dotfiles(const struct dirent *filedat) { if (filedat->d_name[0] == '.') return 0; else return 1; } /*! * Provides an error checked write command. * Call this via the CKD_WRITE macro * \return write return value */ ssize_t ckd_write(int fd, char *msg, char *file, int line) { ssize_t ret; do { ret = write(fd, msg, strlen(msg)); } while (ret == -1 && errno == EINTR); if (ret == -1) { MSG_ERR("%s:%d: write: %s\n", file, line, dStrerror(errno)); } return (ret); }