/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 1990-2011 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Glenn Fowler <[email protected]> *17* *18***********************************************************************/19#pragma prototyped20/*21* Glenn Fowler22* AT&T Research23*24* ping host by name25*/2627#include "cslib.h"2829#define M "yo\n"30#define N (sizeof(M)-1)3132int33csping(register Cs_t* state, const char* name)34{35register int fd;36register int n;3738sfsprintf(state->temp, sizeof(state->path), "/dev/tcp/%s/inet.echo", name);39if ((fd = csopen(state, state->temp, 0)) < 0) return -1;40n = (cswrite(state, fd, M, N) != N || csread(state, fd, state->temp, N, CS_LINE) != N || strncmp(M, state->temp, N)) ? -1 : 0;41close(fd);42if (n) messagef((state->id, NiL, -1, "ping: %s: no contact", name));43return n;44}4546int47_cs_ping(const char* name)48{49return csping(&cs, name);50}515253