rendered paste body
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#ifndef MAXDATASIZE
#define MAXDATASIZE 1000
#endif
/********************************************************
**Distributed under the terms of the GNU GPL v2 License**
**www.gnu.org **
**www.fsf.org **
**(C) Arrav **
********************************************************/
/*int cretcp(int flags){
int fd;
if ((fd = socket(PF_INET, SOCK_STREAM, flags)) == -1)
{
perror("socket");
exit(1);
}
return fd;
}*/
int cretcp(){
int fd;
if ((fd = socket(PF_INET, SOCK_STREAM,0)) == -1)
{
perror("socket");
exit(1);
}
return fd;
}
/*int creudp(int flags){
int fd;
if ((fd = socket(PF_INET, SOCK_DGRAM, flags)) == -1)
{
perror("socket");
exit(1);
}
return fd;
}*/
int creudp(){
int fd;
if ((fd = socket(PF_INET, SOCK_DGRAM, 0)) == -1)
{
perror("socket");
exit(1);
}
return fd;
}
int con(int sockfd,struct sockaddr_in address){
if (connect(sockfd, (struct sockaddr *)&address, sizeof(struct sockaddr)) == -1 ){
perror("connect");
exit(1);
}
return 0;
}
char* hostname(char* name){
struct hostent *he;
if ((he=gethostbyname(name)) == NULL) {
herror("gethostbyname");
exit(1);
}
return he->h_addr;
}
struct sockaddr_in ip(int port, char* addr){
struct sockaddr_in conaddr;
conaddr.sin_family = AF_INET;
conaddr.sin_port = htons(port);
conaddr.sin_addr.s_addr = inet_addr(addr);
memset(conaddr.sin_zero, '\0', sizeof conaddr.sin_zero);
return conaddr;
}
struct sockaddr_in sockinfo(int port, int addr){
struct sockaddr_in conaddr;
conaddr.sin_family = AF_INET;
conaddr.sin_port = htons(port);
conaddr.sin_addr = *((struct in_addr *)addr);
memset(conaddr.sin_zero, '\0', sizeof conaddr.sin_zero);
return conaddr;
}
int rcv(int sockfd, char* buf){
int numbytes;
if ((numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1) {
perror("recv");
exit(1);
}
return numbytes;
}
int rcvui(int sockfd, unsigned int buf){
int numbytes;
if ((numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1) {
perror("recv");
exit(1);
}
return numbytes;
}
int snd(int sockfd, char* buf){
int numbytes;
/*int bufsize;
int i;
for(bufsize = 0; bufsize<=MAXDATASIZE; bufsize++)
{
if (buf[bufsize] = '\0'){
i = bufsize;
}
}
printf("buffersize = %d\n",i);
*/
int i = strlen(buf);
//printf("strlen = %d\n",i);
if((numbytes=send(sockfd, buf, i, 0)) == -1)
{
perror("send");
exit(1);
}
if (numbytes!=strlen(buf)){
printf("ERROR - buffer fragmentation\n");
}
return numbytes;
}
int sndi(int sockfd, int buf){
int numbytes;
/*int bufsize;
int i;
for(bufsize = 0; bufsize<=MAXDATASIZE; bufsize++)
{
if (buf[bufsize] = '\0'){
i = bufsize;
}
}
printf("buffersize = %d\n",i);
*/
int i = strlen(buf);
//printf("strlen = %d\n",i);
if((numbytes=send(sockfd, buf, i, 0)) == -1)
{
perror("send");
exit(1);
}
if (numbytes!=strlen(buf)){
printf("ERROR - buffer fragmentation\n");
}
return numbytes;
}
int bnd(int sockfd, struct sockaddr_in address){
if (bind(sockfd, (struct sockaddr *)&address, sizeof(struct sockaddr)) == -1) {
perror("bind");
exit(1);
}
return 0;
}
int parse(char* q){
int mode = 0;
int i;
for(i=0;i<sizeof(q);i++){
if (i+2 <=sizeof(q))
{
if (q[i] == '2')
{
if (q[i+1] == '2')
{
if (q[i+2] == '0')
{
mode = 1;
}
}
}
}
}
for(i=0;i<sizeof(q);i++){
if (i+2 <=sizeof(q))
{
if (q[i] == '3')
{
if (q[i+1] == '3')
{
if (q[i+2] == '1')
{
mode = 2;
}
}
}
}
}
for(i=0;i<sizeof(q);i++){
if (i+2 <=sizeof(q))
{
if (q[i] == '2')
{
if (q[i+1] == '3')
{
if (q[i+2] == '0')
{
mode = 3;
}
}
}
}
}
return mode;
}
/*char* user()
{
return argv[3];
}*/