Go to the documentation of this file.
38 #include <sys/socket.h>
39 #include <sys/types.h>
41 #include <arpa/inet.h>
59 #define SOCKET_OPEN_FAILED -1
72 vsnprintf(buf,
sizeof(buf), fmt, ap);
75 fprintf(stderr,
"%s\n", buf);
88 while ((opt = getopt(argc,
argv,
"ax")) != -1)
113 struct addrinfo hints, *res, *rp;
114 const char *addrStr, *portStr;
124 memset (&hints, 0,
sizeof (hints));
126 hints.ai_family = PF_UNSPEC;
127 hints.ai_socktype = SOCK_STREAM;
128 hints.ai_flags |= AI_CANONNAME;
130 err = getaddrinfo(addrStr, portStr, &hints, &res);
134 for (rp=res; rp!=NULL; rp=rp->ai_next)
136 sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
138 if (sock == -1)
continue;
140 if (connect(sock, rp->ai_addr, rp->ai_addrlen) != -1)
break;
174 printf(
"%08X\n", cmd.
res);
178 printf(
"%u\n", cmd.
res);
203 if (isprint(ch) || (ch ==
'\n') || (ch ==
'\r'))
205 else printf(
"\\x%02hhx", ch);
225 printf(
" %d", p[i+1]);
241 printf(
"%d %d",
r-3, p[0]);
255 if (isprint(ch) || (ch ==
'\n') || (ch ==
'\r'))
257 else printf(
"\\x%02hhx", ch);
298 int main(
int argc ,
char *argv[])
301 int args, idx, i, pp, l, len;
316 for (i=args; i<argc; i++)
318 l += (strlen(
argv[i]) + 1);
330 while ((idx >= 0) && (ctl.
eaten < len))
345 if (
s.par) free (
s.par);
356 if (send(sock, &cmd,
sizeof(
cmdCmd_t), 0) ==
359 if (p[3]) send(sock,
v, p[3], 0);
361 if (recv(sock, &cmd,
sizeof(
cmdCmd_t), MSG_WAITALL) ==
376 "%s only allowed within a script",
cmdInfo[idx].
name);
382 "%s? unknown command, pigs h for help",
cmdStr());
385 "%s: bad parameter, pigs h for help",
cmdStr());
389 if (sock >= 0) close(sock);
char response_buf[CMD_MAX_EXTENSION]
void print_result(int sock, int rv, cmdCmd_t cmd)
#define PI_DEFAULT_SOCKET_ADDR_STR
ROSLIB_DECL std::string command(const std::string &cmd)
#define PI_MAX_SCRIPT_PARAMS
#define CMD_MAX_EXTENSION
int cmdParseScript(char *script, cmdScript_t *s, int diags)
void get_extensions(int sock, int command, int res)
#define PI_DEFAULT_SOCKET_PORT_STR
char * cmdErrStr(int error)
#define SOCKET_OPEN_FAILED
static int initOpts(int argc, char *argv[])
void report(int err, char *fmt,...)
int cmdParse(char *buf, uint32_t *p, unsigned ext_len, char *ext, cmdCtlParse_t *ctl)
char command_buf[CMD_MAX_EXTENSION]
int main(int argc, char *argv[])
static int openSocket(void)
cob_hand_bridge
Author(s): Mathias Lüdtke
autogenerated on Fri Aug 2 2024 09:40:56