/home/dko/projects/mobilec/trunk/src/connection.c

Go to the documentation of this file.
00001 /* SVN FILE INFO
00002  * $Revision: 174 $ : Last Committed Revision
00003  * $Date: 2008年06月24日 10:50:29 -0700 (2008年6月24日) $ : Last Committed Date */
00004 /*[
00005  * Copyright (c) 2007 Integration Engineering Laboratory
00006  University of California, Davis
00007  *
00008  * Permission to use, copy, and distribute this software and its
00009  * documentation for any purpose with or without fee is hereby granted,
00010  * provided that the above copyright notice appear in all copies and
00011  * that both that copyright notice and this permission notice appear
00012  * in supporting documentation.
00013  *
00014  * Permission to modify the software is granted, but not the right to
00015  * distribute the complete modified source code. Modifications are to
00016  * be distributed as patches to the released version. Permission to
00017  * distribute binaries produced by compiling modified sources is granted,
00018  * provided you
00019  * 1. distribute the corresponding source modifications from the
00020  * released version in the form of a patch file along with the binaries,
00021  * 2. add special version identification to distinguish your version
00022  * in addition to the base release version number,
00023  * 3. provide your name and address as the primary contact for the
00024  * support of your modified version, and
00025  * 4. retain our contact information in regard to use of the base
00026  * software.
00027  * Permission to distribute the released version of the source code along
00028  * with corresponding source modifications in the form of a patch file is
00029  * granted with same provisions 2 through 4 for binary distributions.
00030  *
00031  * This software is provided "as is" without express or implied warranty
00032  * to the extent permitted by applicable law.
00033 ]*/
00034 
00035 #include <stdio.h>
00036 #include <stdlib.h>
00037 #include <string.h>
00038 #include "include/connection.h"
00039 #include "include/mc_error.h"
00040 
00041 int
00042 connection_Destroy(connection_p connection)
00043 {
00044 if(connection == NULL) {
00045 return MC_SUCCESS;
00046 }
00047 /* Close the connection, just to make sure. */
00048 #ifndef _WIN32
00049 close(connection->clientfd);
00050 #else
00051 closesocket(connection->clientfd);
00052 #endif
00053 
00054 if(connection->remote_hostname != NULL) {
00055 free(connection->remote_hostname);
00056 }
00057 
00058 free(connection);
00059 return MC_SUCCESS;
00060 }
00061 
00062 connection_p connection_New(void)
00063 {
00064 connection_p connection;
00065 connection = (connection_p)malloc(sizeof(connection_t));
00066 if (connection==NULL) {
00067 fprintf(stderr, "Memory error. %s:%d\n", __FILE__, __LINE__);
00068 }
00069 memset(connection, 0, sizeof(connection_t));
00070 return connection;
00071 }
00072 
00073 connection_p connection_Copy(connection_p connection)
00074 {
00075 connection_p tmp = connection_New();
00076 tmp->connect_id = connection->connect_id;
00077 tmp->remote_hostname = strdup(connection->remote_hostname);
00078 tmp->addr = connection->addr;
00079 tmp->clientfd = connection->clientfd;
00080 tmp->serverfd = connection->serverfd;
00081 
00082 return tmp;
00083 }
00084 

Generated on Tue Oct 28 17:03:22 2008 for Mobile-C by doxygen 1.5.5

AltStyle によって変換されたページ (->オリジナル) /