home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming with VisualAge for Java
/
IBMVJAVA.ISO
/
icswin95
/
httpdw32.z
/
session.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-04-07
|
2KB
|
80 lines
/*
* Copyright (c) 1994, 1995. Netscape Communications Corporation. All
* rights reserved.
*
* Use of this software is governed by the terms of the license agreement for
* the Netscape Communications or Netscape Comemrce Server between the
* parties.
*/
/* ------------------------------------------------------------------------ */
/*
* NSsession.h: Deals with virtual sessions
*
* A session is the time between when a client connects and when it
* disconnects. Several requests may be handled in one session.
*
* Rob McDuel
*/
#ifndef NSSESSION_H
#define NSSESSION_H
#include "base/pblock.h"
#include "base/net.h"
#include "base/buffer.h"
/* ------------------------------ Structures ------------------------------ */
#define SESSION_HASHSIZE 5
typedef struct {
/* Client-specific information */
pblock *client;
SYS_NETFD csd;
netbuf *inbuf;
/* struct in_addr iaddr; */
} Session;
/* ------------------------------ Prototypes ------------------------------ */
/*
* session_create creates a new request structure for the client with the
* given socket descriptor and sockaddr.
*/
Session *session_create(SYS_NETFD csd, struct sockaddr_in *sac);
/*
* session_free frees the given session
*/
void session_free(Session *sn);
/*
* session_dns returns the DNS hostname of the client of this session,
* and inserts it into the client pblock. Returns NULL if unavailable.
*/
#define session_dns(sn) session_dns_lookup(sn, 0)
/*
* session_maxdns looks up a hostname from an IP address, and then verifies
* that the host is really who they claim to be.
*/
#define session_maxdns(sn) session_dns_lookup(sn, 1)
char *session_dns_lookup(Session *sn, int verify);
#endif