#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
#include <fcntl.h> | |
#include <errno.h> | |
int smd_main(int argc, char **argv) | |
{ | |
int fd, len, r, port = 0; | |
char devname[32]; | |
argc--; | |
argv++; | |
if((argc > 0) && (argv[0][0] == '-')) { | |
port = atoi(argv[0] + 1); | |
argc--; | |
argv++; | |
} | |
sprintf(devname,"/dev/smd%d",port); | |
fd = open(devname, O_WRONLY); | |
if(fd < 0) { | |
fprintf(stderr,"failed to open smd0 - %s\n", | |
strerror(errno)); | |
return -1; | |
} | |
while(argc > 0) { | |
len = strlen(argv[0]); | |
r = write(fd, argv[0], len); | |
if(r != len) { | |
fprintf(stderr,"failed to write smd0 (%d) %s\n", | |
r, strerror(errno)); | |
return -1; | |
} | |
argc--; | |
argv++; | |
write(fd, argc ? " " : "\r", 1); | |
} | |
close(fd); | |
return 0; | |
} |