Annotation of libwww/Library/src/HTMuxCh.html, revision 1.1.2.3
1.1.2.1 frystyk 1: <HTML>
2: <HEAD>
1.1.2.3 ! frystyk 3: <TITLE>W3C Reference Library libwww MUX Protocol</TITLE>
1.1.2.1 frystyk 4: </HEAD>
5: <BODY>
1.1.2.3 ! frystyk 6: <H1>
! 7: The MUX Protocol
! 8: </H1>
1.1.2.1 frystyk 9: <PRE>
10: /*
11: ** (c) COPYRIGHT MIT 1995.
12: ** Please first read the full copyright statement in the file COPYRIGH.
13: */
14: </PRE>
1.1.2.3 ! frystyk 15: <P>
! 16: This module defines the read and write functions to and from the network.
! 17: As we are having reentrant function and a smarter network I/O this will get
! 18: very small :-)
! 19: <P>
! 20: This module is implemented by <A HREF="HTMux.c">HTMux.c</A>, and it is a
! 21: part of the <A HREF="http://www.w3.org/pub/WWW/Library/"> W3C Reference
! 22: Library</A>.
1.1.2.1 frystyk 23: <PRE>
24: #ifndef HTMUXCHANNEL_H
25: #define HTMUXCHANNEL_H
26:
1.1.2.3 ! frystyk 27: typedef struct _HTMuxChannel HTMuxChannel;
! 28: typedef struct _HTMuxSession HTMuxSession;
! 29: typedef struct _HTMuxProtocol HTMuxProtocol;
! 30:
! 31: typedef unsigned char HTMuxSessionId;
! 32:
! 33: #include "HTMuxHeader.h"
! 34: #include "HTChannl.h"
! 35: #include "HTHost.h"
1.1.2.1 frystyk 36:
1.1.2.2 frystyk 37: #define INVSID 0 /* Invalid session id */
38: #define INVPID 0 /* Invalid protocol id */
1.1.2.1 frystyk 39: </PRE>
1.1.2.3 ! frystyk 40: <H2>
! 41: Mux Channel
! 42: </H2>
1.1.2.1 frystyk 43: <PRE>
44: extern HTMuxChannel * HTMuxChannel_new (HTHost * host, HTChannel * ch);
45:
46: extern HTMuxChannel * HTMuxChannel_find (HTChannel * ch);
47:
48: extern BOOL HTMuxChannel_delete (HTMuxChannel * me);
49:
50: extern BOOL HTMuxChannel_deleteAll (void);
51:
52: extern HTNet * HTMuxChannel_net (HTMuxChannel * me);
53:
1.1.2.3 ! frystyk 54: extern HTMuxSession * HTMuxChannel_findSessionFromId (HTMuxChannel * me,
! 55: HTMuxSessionId sid);
1.1.2.1 frystyk 56:
1.1.2.3 ! frystyk 57: extern HTMuxSession * HTMuxChannel_findSessionFromNet (HTMuxChannel * me,
! 58: HTNet * net);
1.1.2.2 frystyk 59:
1.1.2.3 ! frystyk 60: extern HTChannel * HTMuxChannel_channel (HTMuxChannel * muxch);
1.1.2.1 frystyk 61:
1.1.2.3 ! frystyk 62: extern int HTMuxChannel_sendControl (HTMuxChannel * muxch, HTMuxSessionId sid,
! 63: HTMuxHeader opcode, int value,
! 64: const void * param, int param_size);
1.1.2.1 frystyk 65:
66: </PRE>
1.1.2.3 ! frystyk 67: <H2>
! 68: Mux Session
! 69: </H2>
! 70: <PRE>
! 71: extern HTMuxSessionId HTMuxSession_accept (HTMuxChannel * muxch, HTNet * net,
! 72: HTProtocolId pid);
! 73:
! 74: extern HTMuxSessionId HTMuxSession_connect (HTMuxChannel * muxch, HTNet * net,
! 75: HTProtocolId pid);
! 76:
! 77: extern int HTMuxSession_close (HTMuxChannel * muxch, HTMuxSessionId sid);
! 78:
! 79: extern HTMuxSession * HTMuxSession_register (HTMuxChannel * muxch,
! 80: HTMuxSessionId sid,
! 81: HTProtocolId pid);
! 82:
! 83: extern HTMuxSessionId HTMuxSession_id (HTMuxSession * session);
1.1.2.1 frystyk 84:
1.1.2.3 ! frystyk 85: extern HTProtocolId HTMuxSession_pid (HTMuxSession * session);
1.1.2.1 frystyk 86:
1.1.2.3 ! frystyk 87: extern HTNet * HTMuxSession_net (HTMuxSession * session);
! 88:
! 89: extern BOOL HTMuxSession_setState (HTMuxSession * session, HTMuxHeader flags);
! 90:
! 91: extern HTMuxHeader HTMuxSession_state (HTMuxSession * session);
! 92:
! 93: extern int HTMuxSession_credit (HTMuxSession * session);
! 94:
! 95: extern BOOL HTMuxSession_setCredit (HTMuxChannel * muxch,
! 96: HTMuxSessionId sid, int credit);
! 97:
! 98: extern int HTMuxSession_fragment (HTMuxSession * session);
! 99:
! 100: extern BOOL HTMuxSession_setFragment (HTMuxChannel * muxch,
! 101: HTMuxSessionId sid, int fragment);
! 102: </PRE>
! 103: <H2>
! 104: Mux Protocol
! 105: </H2>
! 106: <PRE>
! 107: extern BOOL HTMuxProtocol_add (HTMuxChannel * muxch,
! 108: HTProtocolId pid, const char * protocol);
! 109:
! 110: extern BOOL HTMuxProtocol_delete (HTMuxChannel * muxch, HTProtocolId pid);
! 111: </PRE>
1.1.2.1 frystyk 112: <PRE>
113: #endif
114: </PRE>
1.1.2.3 ! frystyk 115: <P>
! 116: <HR>
1.1.2.1 frystyk 117: <ADDRESS>
1.1.2.3 ! frystyk 118: @(#) $Id: HTMuxCh.html,v 1.1.2.2 1996/11/02 20:10:24 frystyk Exp $
1.1.2.1 frystyk 119: </ADDRESS>
1.1.2.3 ! frystyk 120: </BODY></HTML>
Webmaster