netatalk  4.4.0dev
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
dsi.h File Reference
#include <sys/types.h>
#include <sys/time.h>
#include <signal.h>
#include <netinet/in.h>

Go to the source code of this file.

Data Structures

struct  dsi_block
struct  DSI

Macros

#define DSI_BLOCKSIZ   16
#define DSI_CMDSIZ   800
#define DSI_DATASIZ   8192
#define DSIFL_REQUEST   0x00
#define DSIFL_REPLY   0x01
#define DSIFL_MAX   0x01
#define DSIOPT_SERVQUANT   0x00 /* server request quantum */
#define DSIOPT_ATTNQUANT   0x01 /* attention quantum */
#define DSIFUNC_CLOSE   1 /* DSICloseSession */
#define DSIFUNC_CMD   2 /* DSICommand */
#define DSIFUNC_STAT   3 /* DSIGetStatus */
#define DSIFUNC_OPEN   4 /* DSIOpenSession */
#define DSIFUNC_TICKLE   5 /* DSITickle */
#define DSIFUNC_WRITE   6 /* DSIWrite */
#define DSIFUNC_ATTN   8 /* DSIAttention */
#define DSIFUNC_MAX   8 /* largest command */
#define DSIERR_OK   0x0000
#define DSIERR_BADVERS   0xfbd6
#define DSIERR_BUFSMALL   0xfbd5
#define DSIERR_NOSESS   0xfbd4
#define DSIERR_NOSERV   0xfbd3
#define DSIERR_PARM   0xfbd2
#define DSIERR_SERVBUSY   0xfbd1
#define DSIERR_SESSCLOS   0xfbd0
#define DSIERR_SIZERR   0xfbcf
#define DSIERR_TOOMANY   0xfbce
#define DSIERR_NOACK   0xfbcd
#define DSI_DEFQUANT   2 /* default attention quantum size */
#define DSI_SERVQUANT_MAX   0xffffffffL /* server quantum */
#define DSI_SERVQUANT_MIN   0x0004A2E0L /* minimum server quantum */
#define DSI_SERVQUANT_DEF   DSI_SERVQUANT_MIN /* default server quantum */
#define DSI_AFPOVERTCP_PORT   548
#define dsi_wrtreply(a, b)
#define dsi_serverID(x)
#define dsi_send(x)
#define dsi_receive(x)

Typedefs

typedef struct DSI DSI

Functions

DSIdsi_init (const char *, const char *, const char *, const int, const int, const uint32_t)
void dsi_setstatus (DSI *, uint8_t *, const int)
void dsi_kill (int)
size_t dsi_stream_write (DSI *, void *, const size_t)
size_t dsi_stream_read (DSI *, void *, const size_t)
int dsi_stream_send (DSI *, void *, size_t)
int dsi_stream_receive (DSI *, void *, const size_t, size_t *)
size_t dsi_writeinit (DSI *, void *, const size_t)
size_t dsi_write (DSI *, void *, const size_t)
void dsi_writeflush (DSI *)
ssize_t dsi_readinit (DSI *, void *, const size_t, const size_t, const int)
ssize_t dsi_read (DSI *, void *, const size_t)
void dsi_readdone (DSI *)

Macro Definition Documentation

◆ DSI_AFPOVERTCP_PORT

#define DSI_AFPOVERTCP_PORT   548

◆ DSI_BLOCKSIZ

#define DSI_BLOCKSIZ   16

◆ DSI_CMDSIZ

#define DSI_CMDSIZ   800

◆ DSI_DATASIZ

#define DSI_DATASIZ   8192

◆ DSI_DEFQUANT

#define DSI_DEFQUANT   2 /* default attention quantum size */

◆ dsi_receive

#define dsi_receive ( x)
Value:
(dsi_stream_receive((x), (x)->commands, \
DSI_CMDSIZ, &(x)->cmdlen))
int dsi_stream_receive(DSI *)
Definition dsi_stream.c:649
#define DSI_CMDSIZ
Definition test/testsuite/dsi.h:42

◆ dsi_send

#define dsi_send ( x)
Value:
do { \
(x)->header.dsi_len = htonl((x)->cmdlen); \
dsi_stream_send((x), (x)->commands, (x)->cmdlen); \
} while (0)
static void header(void)
Definition speedtest.c:570

◆ dsi_serverID

#define dsi_serverID ( x)
Value:
((x)->serverID++)

◆ DSI_SERVQUANT_DEF

#define DSI_SERVQUANT_DEF   DSI_SERVQUANT_MIN /* default server quantum */

◆ DSI_SERVQUANT_MAX

#define DSI_SERVQUANT_MAX   0xffffffffL /* server quantum */

◆ DSI_SERVQUANT_MIN

#define DSI_SERVQUANT_MIN   0x0004A2E0L /* minimum server quantum */

◆ dsi_wrtreply

#define dsi_wrtreply ( a,
b )
Value:
int dsi_cmdreply(DSI *, const int)
Definition dsi_cmdreply.c:19

◆ DSIERR_BADVERS

#define DSIERR_BADVERS   0xfbd6

◆ DSIERR_BUFSMALL

#define DSIERR_BUFSMALL   0xfbd5

◆ DSIERR_NOACK

#define DSIERR_NOACK   0xfbcd

◆ DSIERR_NOSERV

#define DSIERR_NOSERV   0xfbd3

◆ DSIERR_NOSESS

#define DSIERR_NOSESS   0xfbd4

◆ DSIERR_OK

#define DSIERR_OK   0x0000

◆ DSIERR_PARM

#define DSIERR_PARM   0xfbd2

◆ DSIERR_SERVBUSY

#define DSIERR_SERVBUSY   0xfbd1

◆ DSIERR_SESSCLOS

#define DSIERR_SESSCLOS   0xfbd0

◆ DSIERR_SIZERR

#define DSIERR_SIZERR   0xfbcf

◆ DSIERR_TOOMANY

#define DSIERR_TOOMANY   0xfbce

◆ DSIFL_MAX

#define DSIFL_MAX   0x01

◆ DSIFL_REPLY

#define DSIFL_REPLY   0x01

◆ DSIFL_REQUEST

#define DSIFL_REQUEST   0x00

◆ DSIFUNC_ATTN

#define DSIFUNC_ATTN   8 /* DSIAttention */

◆ DSIFUNC_CLOSE

#define DSIFUNC_CLOSE   1 /* DSICloseSession */

◆ DSIFUNC_CMD

#define DSIFUNC_CMD   2 /* DSICommand */

◆ DSIFUNC_MAX

#define DSIFUNC_MAX   8 /* largest command */

◆ DSIFUNC_OPEN

#define DSIFUNC_OPEN   4 /* DSIOpenSession */

◆ DSIFUNC_STAT

#define DSIFUNC_STAT   3 /* DSIGetStatus */

◆ DSIFUNC_TICKLE

#define DSIFUNC_TICKLE   5 /* DSITickle */

◆ DSIFUNC_WRITE

#define DSIFUNC_WRITE   6 /* DSIWrite */

◆ DSIOPT_ATTNQUANT

#define DSIOPT_ATTNQUANT   0x01 /* attention quantum */

◆ DSIOPT_SERVQUANT

#define DSIOPT_SERVQUANT   0x00 /* server request quantum */

Typedef Documentation

◆ DSI

typedef struct DSI DSI

Function Documentation

◆ dsi_init()

DSI * dsi_init ( const char * ,
const char * ,
const char * ,
const int ,
const int ,
const uint32_t  )
extern

◆ dsi_kill()

void dsi_kill ( int )
extern

◆ dsi_read()

ssize_t dsi_read ( DSI * dsi,
void * buf,
const size_t buflen )
extern

◆ dsi_readdone()

void dsi_readdone ( DSI * dsi)
extern

◆ dsi_readinit()

ssize_t dsi_readinit ( DSI * dsi,
void * buf,
const size_t buflen,
const size_t size,
const int err )
extern

◆ dsi_setstatus()

void dsi_setstatus ( DSI * ,
uint8_t * ,
const int  )
extern

◆ dsi_stream_read()

size_t dsi_stream_read ( DSI * dsi,
void * data,
const size_t length )
extern

◆ dsi_stream_receive()

int dsi_stream_receive ( DSI * ,
void * ,
const size_t ,
size_t *  )
extern

◆ dsi_stream_send()

int dsi_stream_send ( DSI * dsi,
void * buf,
size_t length )
extern

◆ dsi_stream_write()

size_t dsi_stream_write ( DSI * ,
void * ,
const size_t  )
extern

◆ dsi_write()

size_t dsi_write ( DSI * dsi,
void * buf,
const size_t buflen )
extern

◆ dsi_writeflush()

void dsi_writeflush ( DSI * dsi)
extern

◆ dsi_writeinit()

size_t dsi_writeinit ( DSI * dsi,
void * buf,
const size_t buflen )
extern