Coda Distributed File System
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations
ctp.h File Reference
#include <stdint.h>
#include <sys/socket.h>
#include <sys/types.h>
Include dependency graph for ctp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  codatunnel_packet
 
struct  ct_filedone
 
struct  ct_filereg
 
struct  ct_transfer_ready
 
struct  ct_transfer_data
 
struct  ct_transfer_eof
 
struct  ct_transfer_error
 
struct  ct_transfer_request
 

Macros

#define CT_MAGIC   "magic01"
 
#define CT_MAGICSZ   8
 
#define CT_SOURCE   0
 
#define CT_SINK   1
 
#define CT_FILREG_DRIVER   0x1
 
#define CT_STATUS_SUCCESS   0
 
#define CT_STATUS_NOENT   1 /* file does not exist */
 
#define CT_STATUS_ACCES   2 /* permission denied */
 
#define CT_STATUS_NOSPC   3 /* disk / quota full */
 
#define CT_STATUS_IOERR   4 /* any other local I/O or resource error */
 
#define CT_STATUS_TIMEOUT   5 /* channel death or cancellation */
 
#define CT_TLSMAXPAYLOAD   16384
 
#define CT_CHUNKMAX    (CT_TLSMAXPAYLOAD - (size_t)sizeof(ctp_t) - sizeof(ct_transfer_data))
 
#define CT_MAX_RECORD   (sizeof(ctp_t) + sizeof(ct_transfer_data) + CT_CHUNKMAX)
 

Typedefs

typedef struct codatunnel_packet ctp_t
 
typedef char ctp_size_invariant[(sizeof(ctp_t)==(size_t) CT_MAGICSZ+4 *sizeof(uint32_t)+sizeof(struct sockaddr_storage)) ? 1 :-1]
 
typedef struct ct_filedone ct_filedone
 
typedef struct ct_filereg ct_filereg
 
typedef struct ct_transfer_ready ct_transfer_ready
 
typedef struct ct_transfer_data ct_transfer_data
 
typedef struct ct_transfer_eof ct_transfer_eof
 
typedef struct ct_transfer_error ct_transfer_error
 
typedef struct ct_transfer_request ct_transfer_request
 

Enumerations

enum  ct_opcode {
  CT_PKT = 0 , CT_INIT0 = 1 , CT_FILEREG = 2 , CT_FILEUNREG = 3 ,
  CT_FILEDONE = 4 , CT_TRANSFER_READY , CT_TRANSFER_DATA = 6 , CT_TRANSFER_EOF = 7 ,
  CT_TRANSFER_ERROR = 8 , CT_TRANSFER_REQUEST
}
 

Macro Definition Documentation

◆ CT_CHUNKMAX

#define CT_CHUNKMAX    (CT_TLSMAXPAYLOAD - (size_t)sizeof(ctp_t) - sizeof(ct_transfer_data))

◆ CT_FILREG_DRIVER

#define CT_FILREG_DRIVER   0x1

◆ CT_MAGIC

#define CT_MAGIC   "magic01"

◆ CT_MAGICSZ

#define CT_MAGICSZ   8

◆ CT_MAX_RECORD

#define CT_MAX_RECORD   (sizeof(ctp_t) + sizeof(ct_transfer_data) + CT_CHUNKMAX)

◆ CT_SINK

#define CT_SINK   1

◆ CT_SOURCE

#define CT_SOURCE   0

◆ CT_STATUS_ACCES

#define CT_STATUS_ACCES   2 /* permission denied */

◆ CT_STATUS_IOERR

#define CT_STATUS_IOERR   4 /* any other local I/O or resource error */

◆ CT_STATUS_NOENT

#define CT_STATUS_NOENT   1 /* file does not exist */

◆ CT_STATUS_NOSPC

#define CT_STATUS_NOSPC   3 /* disk / quota full */

◆ CT_STATUS_SUCCESS

#define CT_STATUS_SUCCESS   0

◆ CT_STATUS_TIMEOUT

#define CT_STATUS_TIMEOUT   5 /* channel death or cancellation */

◆ CT_TLSMAXPAYLOAD

#define CT_TLSMAXPAYLOAD   16384

Typedef Documentation

◆ ct_filedone

typedef struct ct_filedone ct_filedone

◆ ct_filereg

typedef struct ct_filereg ct_filereg

◆ ct_transfer_data

◆ ct_transfer_eof

◆ ct_transfer_error

◆ ct_transfer_ready

◆ ct_transfer_request

◆ ctp_size_invariant

typedef char ctp_size_invariant[(sizeof(ctp_t)==(size_t) CT_MAGICSZ+4 *sizeof(uint32_t)+ sizeof(struct sockaddr_storage)) ? 1 : -1]

◆ ctp_t

typedef struct codatunnel_packet ctp_t

Enumeration Type Documentation

◆ ct_opcode

enum ct_opcode
Enumerator
CT_PKT 
CT_INIT0 
CT_FILEREG 
CT_FILEUNREG 
CT_FILEDONE 
CT_TRANSFER_READY 
CT_TRANSFER_DATA 
CT_TRANSFER_EOF 
CT_TRANSFER_ERROR 
CT_TRANSFER_REQUEST