All pastes #539992 Raw Edit

Untitled

public text v1 · immutable
·published 2007-06-05 12:51 UTC
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];
}*/