Jabber WindowGram Client (JWGC)

Introduction Screenshots Installation Downloads
Documentation Browse Source Resources Project Site

Stable Version
-none-

Latest Version
beta5



Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

JFile.c File Reference

#include <sysdep.h>
#include "include/libjwgc.h"

Go to the source code of this file.

Functions

int JSetupComm ()
int JConnect ()
void JCleanupSocket ()


Function Documentation

void JCleanupSocket  ) 
 

Definition at line 93 of file JFile.c.

References getenv().

Referenced by jabber_finalize().

00094 {
00095         char savefile[MAXNAMLEN];
00096         FILE *savefd;
00097         char *envptr;
00098 
00099         envptr = getenv("JWGCSCK");
00100         if (!envptr) {
00101                 (void) sprintf(savefile, "/tmp/jwgcsck.%d", getuid());
00102                 envptr = savefile;
00103         }
00104         unlink(envptr);
00105 }

int JConnect  ) 
 

Definition at line 54 of file JFile.c.

References getenv().

Referenced by jwg_start().

00055 {
00056         int sock;
00057         struct sockaddr_un sockaddr;
00058         char file[MAXNAMLEN];
00059         struct linger li;
00060         char *envptr;
00061 
00062         li.l_onoff = 1;
00063         li.l_linger = 900;
00064 
00065         sock = socket(AF_UNIX, SOCK_STREAM, 0);
00066         if (sock < 0) {
00067                 return -1;
00068         }
00069         envptr = getenv("JWGCSCK");
00070         if (!envptr) {
00071                 (void) sprintf(file, "/tmp/jwgcsck.%d", getuid());
00072                 envptr = file;
00073         }
00074         sockaddr.sun_family = AF_UNIX;
00075 
00076         strcpy(sockaddr.sun_path, envptr);
00077         if (connect(sock, (struct sockaddr *)&sockaddr,
00078                 strlen(sockaddr.sun_path)+1 + sizeof(sockaddr.sun_family))
00079                         < 0) {
00080                 return -1;
00081         }
00082 
00083         if (setsockopt(sock, SOL_SOCKET, SO_LINGER, (char *)&li, sizeof(li))
00084                         == -1) {
00085                 return -1;
00086         }
00087 
00088 
00089         return sock;
00090 }

int JSetupComm  ) 
 

Definition at line 7 of file JFile.c.

References getenv().

Referenced by jwg_servstart().

00008 {
00009         mode_t prevmode;
00010         int sock;
00011         struct sockaddr_un sockaddr;
00012         char file[MAXNAMLEN];
00013         struct linger li;
00014         char *envptr;
00015 
00016         li.l_onoff = 1;
00017         li.l_linger = 900;
00018 
00019         prevmode = umask(S_IRWXO|S_IRWXG);
00020         sock = socket(AF_UNIX, SOCK_STREAM, 0);
00021         if (sock < 0) {
00022                 return -1;
00023         }
00024         envptr = getenv("JWGCSCK");
00025         if (!envptr) {
00026                 (void) sprintf(file, "/tmp/jwgcsck.%d", getuid());
00027                 envptr = file;
00028         }
00029         unlink(envptr);
00030 
00031         sockaddr.sun_family = AF_UNIX;
00032         strcpy(sockaddr.sun_path, envptr);
00033         if (bind(sock, (struct sockaddr *)&sockaddr,
00034                 strlen(sockaddr.sun_path)+1 + sizeof(sockaddr.sun_family))
00035                         < 0) {
00036                 return -1;
00037         }
00038         if (listen(sock, 10) < 0) {
00039                 return -1;
00040         }
00041 
00042         if (setsockopt(sock, SOL_SOCKET, SO_LINGER, (char *)&li, sizeof(li))
00043                         == -1) {
00044                 return -1;
00045         }
00046 
00047 
00048         umask(prevmode);
00049 
00050         return sock;
00051 }



Last updated at Tue Dec 18 21:07:42 PST 2007. This site and project hosted by...SourceForge.net Logo

Source Perspective by Fisheye