YAZ 5.37.0
session.h File Reference

Internal header for GFS. More...

#include <yaz/comstack.h>
#include <yaz/cql.h>
#include <yaz/ccl.h>
#include <yaz/odr.h>
#include <yaz/proto.h>
#include <yaz/backend.h>
#include <yaz/retrieval.h>
#include "eventl.h"

Go to the source code of this file.

Data Structures

struct  gfs_server
struct  gfs_listen
struct  request
struct  request_q
struct  association

Typedefs

typedef struct request request
typedef struct request_q request_q
typedef struct association association

Enumerations

enum  request_state { REQUEST_IDLE , REQUEST_PENDING }
enum  association_state { ASSOC_NEW , ASSOC_UP , ASSOC_DEAD }

Functions

associationcreate_association (IOCHAN channel, COMSTACK link, const char *apdufile)
void destroy_association (association *h)
void ir_session (IOCHAN h, int event)
void request_enq (request_q *q, request *r)
requestrequest_head (request_q *q)
requestrequest_deq (request_q *q)
requestrequest_deq_x (request_q *q, request *r)
void request_initq (request_q *q)
void request_delq (request_q *q)
requestrequest_get (request_q *q)
void request_release (request *r)
int control_association (association *assoc, const char *host, int force)
int ir_read (IOCHAN h, int event)

Detailed Description

Internal header for GFS.

Definition in file session.h.

Typedef Documentation

◆ association

typedef struct association association

◆ request

typedef struct request request

◆ request_q

typedef struct request_q request_q

Enumeration Type Documentation

◆ association_state

Enumerator
ASSOC_NEW 
ASSOC_UP 
ASSOC_DEAD 

Definition at line 99 of file session.h.

◆ request_state

Enumerator
REQUEST_IDLE 
REQUEST_PENDING 

Definition at line 65 of file session.h.

Function Documentation

◆ control_association()

◆ create_association()

◆ destroy_association()

◆ ir_read()

◆ ir_session()

◆ request_delq()

void request_delq ( request_q * q)

Definition at line 55 of file requestq.c.

References request_q::list, request::next, request::response, and xfree.

Referenced by destroy_association().

◆ request_deq()

request * request_deq ( request_q * q)

◆ request_deq_x()

request * request_deq_x ( request_q * q,
request * r )

◆ request_enq()

void request_enq ( request_q * q,
request * r )

Definition at line 21 of file requestq.c.

References request_q::head, request::next, request_q::num, and request_q::tail.

Referenced by ir_read(), and process_gdu_response().

◆ request_get()

◆ request_head()

request * request_head ( request_q * q)

Definition at line 31 of file requestq.c.

References request_q::head.

Referenced by ir_session(), and process_gdu_response().

◆ request_initq()

void request_initq ( request_q * q)

Definition at line 49 of file requestq.c.

References request_q::head, request_q::list, request_q::num, and request_q::tail.

Referenced by create_association().

◆ request_release()

void request_release ( request * r)