read-ok-from-nag.c
来自「MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis」· C语言 代码 · 共 65 行
C
65 行
#include <errno.h>#include <string.h>#include <sys/time.h>#include <libxml/tree.h>#include <glib.h>#include "libbionet-internal.h"// FIXME: this treats timeouts and network errors and Nag error messages all the same: return -1...int libbionet_read_ok_from_nag(void) { int r; xmlDoc *xml; xmlNode *reply; r = bionet_connect_to_nag(); if (r < 0) { g_log(BIONET_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "error connecting to NAG"); return -1; } { const char *accept[] = { "ok", "error", NULL }; struct timeval timeout; timeout.tv_sec = libbionet_nag_timeout; timeout.tv_usec = 0; r = bionet_nxio_read_acceptable(libbionet_nag_nxio, &timeout, &xml, accept, &libbionet_queued_messages_from_nag); if (r < 0) { return -1; } if (xml == NULL) { // timeout return -1; } } reply = xmlDocGetRootElement(xml); if (strcmp(reply->name, "error") == 0) { libbionet_handle_error_message(xml); return -1; } // "ok" message, perfect, just what we wanted free(libbionet_nag_error); libbionet_nag_error = NULL; xmlFreeDoc(xml); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?