Coda Distributed File System
Classes | Macros | Enumerations | Functions | Variables
sftp.h File Reference
#include <unistd.h>
#include <stdlib.h>
Include dependency graph for sftp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SFTP_Parms
 
struct  SFTP_MCParms
 
struct  SFTP_Entry
 

Macros

#define SFTPVERSION   3
 
#define SFTP_MAXPACKETSIZE   2900
 
#define SFTP_MAXBODYSIZE   (SFTP_MAXPACKETSIZE - sizeof(struct RPC2_PacketHeader))
 
#define SFTP_DEFPACKETSIZE   (1024 + sizeof(struct RPC2_PacketHeader))
 
#define SFTP_DEFWINDOWSIZE   32
 
#define SFTP_DEFSENDAHEAD   8
 
#define SFTP_MINPACKETSIZE   240
 
#define SFTP_MINBODYSIZE   (SFTP_MINPACKETSIZE - sizeof(struct RPC2_PacketHeader))
 
#define SFTP_MINWINDOWSIZE   2
 
#define SFTP_MINSENDAHEAD   1
 
#define SFTP_DebugLevel   RPC2_DebugLevel
 
#define GotEmAll   SEDataOffset
 
#define BitMask0   ReturnCode
 
#define BitMask1   Lamport
 
#define TimeEcho   BindTime
 
#define ThisRPCCall   Uniquefier
 
#define SFTP_ACKME   0x80000000
 
#define SFTP_MOREDATA   0x1 /* on data packets, indicates more data to come */
 
#define SFTP_PIGGY    0x2 /* on RPC packets: piggybacked info present on this packet */
 
#define SFTP_ALLOVER    0x4 /* on RPC reply packets: indicates server got all data packets */
 
#define SFTP_TRIGGER
 
#define SFTP_FIRST    0x10 /* on data packets, indicates first of group sent by source */
 
#define SFTP_COUNTED    0x20 /* on data packets: arrived or acked before last round */
 
#define SFTP_START    1 /* Control: start sending data (flow is from RPC client to server)*/
 
#define SFTP_ACK   2 /* Control: acknowledgement you had requested */
 
#define SFTP_DATA    3 /* Data: next chunk; MOREDATA flag indicates whether EOF has been seen */
 
#define SFTP_NAK   4 /* Control: got a bogus packet from you */
 
#define SFTP_RESET   5 /* Control: reset transmission parameters */
 
#define SFTP_BUSY   6 /* Control: momentarily busy; reset your timeout counter */
 
#define SFTPMAGIC   4902057
 
#define MAXOPACKETS   64 /* Maximum no of outstanding packets; multiple of 32 */
 
#define BITMASKWIDTH   (MAXOPACKETS / 32) /* No of elements in integer array */
 
#define SendFirst   FirstSeqNo
 
#define RecvFirst   FirstSeqNo
 
#define IsSource(sfe)
 
#define IsSink(sfe)
 
#define WORDOFFSET(pos)   (((pos) - 1) >> 5) /* avoid / operator */
 
#define BITOFFSET(pos)   ((((pos) - 1) & 31) + 1) /* avoid % operator */
 
#define PM(pos)   (1L << (32 - (BITOFFSET(pos))))
 
#define SETBIT(mask, pos)   ((mask)[WORDOFFSET(pos)] |= PM(pos))
 
#define TESTBIT(mask, pos)   ((mask)[WORDOFFSET(pos)] & PM(pos))
 
#define CLEARBIT(mask, pos)   ((mask)[WORDOFFSET(pos)] &= (~PM(pos)))
 
#define PBUFF(x)   ((x) & (MAXOPACKETS - 1)) /* effectively modulo operator */
 
#define SFTP_AllocBuffer(x, y)   (sftp_PacketsInUse++, RPC2_AllocBuffer(x, y))
 
#define SFTP_FreeBuffer(x)   (sftp_PacketsInUse--, RPC2_FreeBuffer(x))
 
#define sftp_Encrypt(pb, sfe)
 
#define sftp_Decrypt(pb, sfe)
 
#define MEMFILE(s)   (s->Value.SmartFTPD.Tag == FILEINVM)
 
#define BYFDFILE(s)   (s->Value.SmartFTPD.Tag == FILEBYFD)
 
#define VALID_TIMEECHO(se)   (!(se)->Retransmitting && (se)->TimeEcho != 0)
 

Enumerations

enum  SFState { SFSERVER , SFCLIENT , ERROR , DISKERROR }
 

Functions

int sftp_XmitPacket (struct SFTP_Entry *sentry, RPC2_PacketBuffer *pb, int confirm)
 
void sftp_Timer (void)
 
void sftp_ExaminePacket (RPC2_PacketBuffer *pb)
 
long SFTP_Init ()
 
long SFTP_Bind1 (RPC2_Handle ConnHandle, RPC2_CountedBS *ClientIdent)
 
long SFTP_Bind2 (RPC2_Handle ConnHandle, RPC2_Unsigned BindTime)
 
long SFTP_Unbind (RPC2_Handle ConnHandle)
 
long SFTP_NewConn (RPC2_Handle ConnHandle, RPC2_CountedBS *ClientIdent)
 
long SFTP_MakeRPC1 (RPC2_Handle ConnHandle, SE_Descriptor *SDesc, RPC2_PacketBuffer **RequestPtr)
 
long SFTP_MakeRPC2 (RPC2_Handle ConnHandle, SE_Descriptor *SDesc, RPC2_PacketBuffer *Reply)
 
long SFTP_MultiRPC1 ()
 
long SFTP_MultiRPC2 ()
 
long SFTP_CreateMgrp ()
 
long SFTP_AddToMgrp ()
 
long SFTP_InitMulticast ()
 
long SFTP_DeleteMgrp ()
 
long SFTP_GetRequest (RPC2_Handle ConnHandle, RPC2_PacketBuffer *Request)
 
long SFTP_InitSE (RPC2_Handle ConnHandle, SE_Descriptor *SDesc)
 
long SFTP_CheckSE (RPC2_Handle ConnHandle, SE_Descriptor *SDesc, long Flags)
 
long SFTP_SendResponse (RPC2_Handle ConnHandle, RPC2_PacketBuffer **Reply)
 
long SFTP_PrintSED (SE_Descriptor *SDesc, FILE *outFile)
 
void SFTP_SetDefaults (SFTP_Initializer *initPtr)
 
void SFTP_Activate (SFTP_Initializer *initPtr)
 
long SFTP_GetTime (RPC2_Handle ConnHandle, struct timeval *Time)
 
long SFTP_GetHostInfo (RPC2_Handle ConnHandle, struct HEntry **hPtr)
 
int sftp_InitIO (struct SFTP_Entry *sEntry)
 
int sftp_DataArrived (RPC2_PacketBuffer *pBuff, struct SFTP_Entry *sEntry)
 
int sftp_WriteStrategy (struct SFTP_Entry *sEntry)
 
int sftp_AckArrived (RPC2_PacketBuffer *pBuff, struct SFTP_Entry *sEntry)
 
int sftp_SendStrategy (struct SFTP_Entry *sEntry)
 
int sftp_ReadStrategy (struct SFTP_Entry *sEntry)
 
int sftp_SendStart (struct SFTP_Entry *sEntry)
 
int sftp_StartArrived (RPC2_PacketBuffer *pBuff, struct SFTP_Entry *sEntry)
 
int sftp_SendTrigger (struct SFTP_Entry *sEntry)
 
void sftp_InitPacket (RPC2_PacketBuffer *pb, struct SFTP_Entry *sfe, long bodylen)
 
void sftp_InitTrace (void)
 
int sftp_vfwritefile (struct SFTP_Entry *se, char *buf, int nbytes)
 
void sftp_vfclose (struct SFTP_Entry *se)
 
int sftp_piggybackfileread (struct SFTP_Entry *se, char *buf)
 
off_t sftp_piggybackfilesize (struct SFTP_Entry *se)
 
void sftp_TraceBogus (long filenum, long linenum)
 
void sftp_TraceStatus (struct SFTP_Entry *sEntry, int filenum, int linenum)
 
void sftp_DumpTrace (char *fName)
 
void sftp_Progress (SE_Descriptor *sdesc, off_t BytesTransferred)
 
void sftp_UpdateRTT (RPC2_PacketBuffer *pb, struct SFTP_Entry *sEntry, unsigned long inbytes, unsigned long outbytes)
 
struct SFTP_Entrysftp_AllocSEntry (void)
 
void sftp_FreeSEntry (struct SFTP_Entry *se)
 
void sftp_AllocPiggySDesc (struct SFTP_Entry *se, off_t len, enum WhichWay direction)
 
void sftp_FreePiggySDesc (struct SFTP_Entry *se)
 
int sftp_AppendParmsToPacket (struct SFTP_Entry *sEntry, RPC2_PacketBuffer **whichP)
 
int sftp_ExtractParmsFromPacket (struct SFTP_Entry *sEntry, RPC2_PacketBuffer *whichP)
 
off_t sftp_AppendFileToPacket (struct SFTP_Entry *sEntry, RPC2_PacketBuffer **whichP)
 
off_t sftp_ExtractFileFromPacket (struct SFTP_Entry *sEntry, RPC2_PacketBuffer *whichP)
 
int sftp_AddPiggy (RPC2_PacketBuffer **whichP, char *dPtr, off_t dSize, unsigned int maxSize)
 
void sftp_SetError (struct SFTP_Entry *s, enum SFState e)
 
int sftp_MorePackets (void)
 

Variables

long SFTP_DebugLevel
 
long SFTP_PacketSize
 
long SFTP_WindowSize
 
long SFTP_EnforceQuota
 
long SFTP_SendAhead
 
long SFTP_AckPoint
 
long SFTP_DupThreshold
 
long SFTP_DoPiggy
 
long sftp_datas
 
long sftp_datar
 
long sftp_acks
 
long sftp_ackr
 
long sftp_busy
 
long sftp_triggers
 
long sftp_starts
 
long sftp_retries
 
long sftp_timeouts
 
long sftp_windowfulls
 
long sftp_duplicates
 
long sftp_bogus
 
long sftp_ackslost
 
long sftp_didpiggy
 
long sftp_starved
 
long sftp_rttupdates
 
long sftp_PacketsInUse
 
long SFTP_MaxPackets
 

Macro Definition Documentation

◆ BitMask0

#define BitMask0   ReturnCode

◆ BitMask1

#define BitMask1   Lamport

◆ BITMASKWIDTH

#define BITMASKWIDTH   (MAXOPACKETS / 32) /* No of elements in integer array */

◆ BITOFFSET

#define BITOFFSET (   pos)    ((((pos) - 1) & 31) + 1) /* avoid % operator */

◆ BYFDFILE

#define BYFDFILE (   s)    (s->Value.SmartFTPD.Tag == FILEBYFD)

◆ CLEARBIT

#define CLEARBIT (   mask,
  pos 
)    ((mask)[WORDOFFSET(pos)] &= (~PM(pos)))

◆ GotEmAll

#define GotEmAll   SEDataOffset

◆ IsSink

#define IsSink (   sfe)
Value:
((sfe->WhoAmI == SFCLIENT && sfe->SDesc && \
sfe->SDesc->Value.SmartFTPD.TransmissionDirection == SERVERTOCLIENT) || \
(sfe->WhoAmI == SFSERVER && sfe->SDesc && \
sfe->SDesc->Value.SmartFTPD.TransmissionDirection == CLIENTTOSERVER))
@ CLIENTTOSERVER
Definition: se.h:77
@ SERVERTOCLIENT
Definition: se.h:78
@ SFSERVER
Definition: sftp.h:194
@ SFCLIENT
Definition: sftp.h:195

◆ IsSource

#define IsSource (   sfe)
Value:
((sfe->WhoAmI == SFCLIENT && sfe->SDesc && \
sfe->SDesc->Value.SmartFTPD.TransmissionDirection == CLIENTTOSERVER) || \
(sfe->WhoAmI == SFSERVER && sfe->SDesc && \
sfe->SDesc->Value.SmartFTPD.TransmissionDirection == SERVERTOCLIENT))

◆ MAXOPACKETS

#define MAXOPACKETS   64 /* Maximum no of outstanding packets; multiple of 32 */

◆ MEMFILE

#define MEMFILE (   s)    (s->Value.SmartFTPD.Tag == FILEINVM)

◆ PBUFF

#define PBUFF (   x)    ((x) & (MAXOPACKETS - 1)) /* effectively modulo operator */

◆ PM

#define PM (   pos)    (1L << (32 - (BITOFFSET(pos))))

◆ RecvFirst

#define RecvFirst   FirstSeqNo

◆ SendFirst

#define SendFirst   FirstSeqNo

◆ SETBIT

#define SETBIT (   mask,
  pos 
)    ((mask)[WORDOFFSET(pos)] |= PM(pos))

◆ SFTP_ACK

#define SFTP_ACK   2 /* Control: acknowledgement you had requested */

◆ SFTP_ACKME

#define SFTP_ACKME   0x80000000

◆ SFTP_AllocBuffer

#define SFTP_AllocBuffer (   x,
 
)    (sftp_PacketsInUse++, RPC2_AllocBuffer(x, y))

◆ SFTP_ALLOVER

#define SFTP_ALLOVER    0x4 /* on RPC reply packets: indicates server got all data packets */

◆ SFTP_BUSY

#define SFTP_BUSY   6 /* Control: momentarily busy; reset your timeout counter */

◆ SFTP_COUNTED

#define SFTP_COUNTED    0x20 /* on data packets: arrived or acked before last round */

◆ SFTP_DATA

#define SFTP_DATA    3 /* Data: next chunk; MOREDATA flag indicates whether EOF has been seen */

◆ SFTP_DebugLevel

#define SFTP_DebugLevel   RPC2_DebugLevel

◆ sftp_Decrypt

#define sftp_Decrypt (   pb,
  sfe 
)
Value:
rpc2_Decrypt((char *)&pb->Header.BodyLength, \
(char *)&pb->Header.BodyLength, \
pb->Prefix.LengthOfPacket - 4 * sizeof(RPC2_Integer), \
sfe->PInfo.SessionKey, sfe->PInfo.EncryptionType)
void rpc2_Decrypt(char *FromBuffer, char *ToBuffer, size_t HowManyBytes, RPC2_EncryptionKey WhichKey, RPC2_Integer EncryptionType)
int32_t RPC2_Integer
Definition: rpc2.h:297

◆ SFTP_DEFPACKETSIZE

#define SFTP_DEFPACKETSIZE   (1024 + sizeof(struct RPC2_PacketHeader))

◆ SFTP_DEFSENDAHEAD

#define SFTP_DEFSENDAHEAD   8

◆ SFTP_DEFWINDOWSIZE

#define SFTP_DEFWINDOWSIZE   32

◆ sftp_Encrypt

#define sftp_Encrypt (   pb,
  sfe 
)
Value:
rpc2_Encrypt((char *)&pb->Header.BodyLength, \
(char *)&pb->Header.BodyLength, \
pb->Prefix.LengthOfPacket - 4 * sizeof(RPC2_Integer), \
sfe->PInfo.SessionKey, sfe->PInfo.EncryptionType)
void rpc2_Encrypt(char *FromBuffer, char *ToBuffer, size_t HowManyBytes, RPC2_EncryptionKey WhichKey, RPC2_Integer EncryptionType)

◆ SFTP_FIRST

#define SFTP_FIRST    0x10 /* on data packets, indicates first of group sent by source */

◆ SFTP_FreeBuffer

#define SFTP_FreeBuffer (   x)    (sftp_PacketsInUse--, RPC2_FreeBuffer(x))

◆ SFTP_MAXBODYSIZE

#define SFTP_MAXBODYSIZE   (SFTP_MAXPACKETSIZE - sizeof(struct RPC2_PacketHeader))

◆ SFTP_MAXPACKETSIZE

#define SFTP_MAXPACKETSIZE   2900

◆ SFTP_MINBODYSIZE

#define SFTP_MINBODYSIZE   (SFTP_MINPACKETSIZE - sizeof(struct RPC2_PacketHeader))

◆ SFTP_MINPACKETSIZE

#define SFTP_MINPACKETSIZE   240

◆ SFTP_MINSENDAHEAD

#define SFTP_MINSENDAHEAD   1

◆ SFTP_MINWINDOWSIZE

#define SFTP_MINWINDOWSIZE   2

◆ SFTP_MOREDATA

#define SFTP_MOREDATA   0x1 /* on data packets, indicates more data to come */

◆ SFTP_NAK

#define SFTP_NAK   4 /* Control: got a bogus packet from you */

◆ SFTP_PIGGY

#define SFTP_PIGGY    0x2 /* on RPC packets: piggybacked info present on this packet */

◆ SFTP_RESET

#define SFTP_RESET   5 /* Control: reset transmission parameters */

◆ SFTP_START

#define SFTP_START    1 /* Control: start sending data (flow is from RPC client to server)*/

◆ SFTP_TRIGGER

#define SFTP_TRIGGER
Value:
0x8 /* on ack packets: distinguishes a server "triggered" ack from a real
one. Necessary only for compatibility, triggers now send null
timestamp echos */

◆ SFTPMAGIC

#define SFTPMAGIC   4902057

◆ SFTPVERSION

#define SFTPVERSION   3

◆ TESTBIT

#define TESTBIT (   mask,
  pos 
)    ((mask)[WORDOFFSET(pos)] & PM(pos))

◆ ThisRPCCall

#define ThisRPCCall   Uniquefier

◆ TimeEcho

#define TimeEcho   BindTime

◆ VALID_TIMEECHO

#define VALID_TIMEECHO (   se)    (!(se)->Retransmitting && (se)->TimeEcho != 0)

◆ WORDOFFSET

#define WORDOFFSET (   pos)    (((pos) - 1) >> 5) /* avoid / operator */

Enumeration Type Documentation

◆ SFState

enum SFState
Enumerator
SFSERVER 
SFCLIENT 
ERROR 
DISKERROR 

Function Documentation

◆ sftp_AckArrived()

int sftp_AckArrived ( RPC2_PacketBuffer pBuff,
struct SFTP_Entry sEntry 
)

◆ SFTP_Activate()

void SFTP_Activate ( SFTP_Initializer initPtr)

◆ sftp_AddPiggy()

int sftp_AddPiggy ( RPC2_PacketBuffer **  whichP,
char *  dPtr,
off_t  dSize,
unsigned int  maxSize 
)

◆ SFTP_AddToMgrp()

long SFTP_AddToMgrp ( )

◆ sftp_AllocPiggySDesc()

void sftp_AllocPiggySDesc ( struct SFTP_Entry se,
off_t  len,
enum WhichWay  direction 
)

◆ sftp_AllocSEntry()

struct SFTP_Entry * sftp_AllocSEntry ( void  )

◆ sftp_AppendFileToPacket()

off_t sftp_AppendFileToPacket ( struct SFTP_Entry sEntry,
RPC2_PacketBuffer **  whichP 
)

◆ sftp_AppendParmsToPacket()

int sftp_AppendParmsToPacket ( struct SFTP_Entry sEntry,
RPC2_PacketBuffer **  whichP 
)

◆ SFTP_Bind1()

long SFTP_Bind1 ( RPC2_Handle  ConnHandle,
RPC2_CountedBS ClientIdent 
)

◆ SFTP_Bind2()

long SFTP_Bind2 ( RPC2_Handle  ConnHandle,
RPC2_Unsigned  BindTime 
)

◆ SFTP_CheckSE()

long SFTP_CheckSE ( RPC2_Handle  ConnHandle,
SE_Descriptor SDesc,
long  Flags 
)

◆ SFTP_CreateMgrp()

long SFTP_CreateMgrp ( )

◆ sftp_DataArrived()

int sftp_DataArrived ( RPC2_PacketBuffer pBuff,
struct SFTP_Entry sEntry 
)

◆ SFTP_DeleteMgrp()

long SFTP_DeleteMgrp ( )

◆ sftp_DumpTrace()

void sftp_DumpTrace ( char *  fName)

◆ sftp_ExaminePacket()

void sftp_ExaminePacket ( RPC2_PacketBuffer pb)

◆ sftp_ExtractFileFromPacket()

off_t sftp_ExtractFileFromPacket ( struct SFTP_Entry sEntry,
RPC2_PacketBuffer whichP 
)

◆ sftp_ExtractParmsFromPacket()

int sftp_ExtractParmsFromPacket ( struct SFTP_Entry sEntry,
RPC2_PacketBuffer whichP 
)

◆ sftp_FreePiggySDesc()

void sftp_FreePiggySDesc ( struct SFTP_Entry se)

◆ sftp_FreeSEntry()

void sftp_FreeSEntry ( struct SFTP_Entry se)

◆ SFTP_GetHostInfo()

long SFTP_GetHostInfo ( RPC2_Handle  ConnHandle,
struct HEntry **  hPtr 
)

◆ SFTP_GetRequest()

long SFTP_GetRequest ( RPC2_Handle  ConnHandle,
RPC2_PacketBuffer Request 
)

◆ SFTP_GetTime()

long SFTP_GetTime ( RPC2_Handle  ConnHandle,
struct timeval *  Time 
)

◆ SFTP_Init()

long SFTP_Init ( )

◆ sftp_InitIO()

int sftp_InitIO ( struct SFTP_Entry sEntry)

◆ SFTP_InitMulticast()

long SFTP_InitMulticast ( )

◆ sftp_InitPacket()

void sftp_InitPacket ( RPC2_PacketBuffer pb,
struct SFTP_Entry sfe,
long  bodylen 
)

◆ SFTP_InitSE()

long SFTP_InitSE ( RPC2_Handle  ConnHandle,
SE_Descriptor SDesc 
)

◆ sftp_InitTrace()

void sftp_InitTrace ( void  )

◆ SFTP_MakeRPC1()

long SFTP_MakeRPC1 ( RPC2_Handle  ConnHandle,
SE_Descriptor SDesc,
RPC2_PacketBuffer **  RequestPtr 
)

◆ SFTP_MakeRPC2()

long SFTP_MakeRPC2 ( RPC2_Handle  ConnHandle,
SE_Descriptor SDesc,
RPC2_PacketBuffer Reply 
)

◆ sftp_MorePackets()

int sftp_MorePackets ( void  )

◆ SFTP_MultiRPC1()

long SFTP_MultiRPC1 ( )

◆ SFTP_MultiRPC2()

long SFTP_MultiRPC2 ( )

◆ SFTP_NewConn()

long SFTP_NewConn ( RPC2_Handle  ConnHandle,
RPC2_CountedBS ClientIdent 
)

◆ sftp_piggybackfileread()

int sftp_piggybackfileread ( struct SFTP_Entry se,
char *  buf 
)

◆ sftp_piggybackfilesize()

off_t sftp_piggybackfilesize ( struct SFTP_Entry se)

◆ SFTP_PrintSED()

long SFTP_PrintSED ( SE_Descriptor SDesc,
FILE *  outFile 
)

◆ sftp_Progress()

void sftp_Progress ( SE_Descriptor sdesc,
off_t  BytesTransferred 
)

◆ sftp_ReadStrategy()

int sftp_ReadStrategy ( struct SFTP_Entry sEntry)

◆ SFTP_SendResponse()

long SFTP_SendResponse ( RPC2_Handle  ConnHandle,
RPC2_PacketBuffer **  Reply 
)

◆ sftp_SendStart()

int sftp_SendStart ( struct SFTP_Entry sEntry)

◆ sftp_SendStrategy()

int sftp_SendStrategy ( struct SFTP_Entry sEntry)

◆ sftp_SendTrigger()

int sftp_SendTrigger ( struct SFTP_Entry sEntry)

◆ SFTP_SetDefaults()

void SFTP_SetDefaults ( SFTP_Initializer initPtr)

◆ sftp_SetError()

void sftp_SetError ( struct SFTP_Entry s,
enum SFState  e 
)

◆ sftp_StartArrived()

int sftp_StartArrived ( RPC2_PacketBuffer pBuff,
struct SFTP_Entry sEntry 
)

◆ sftp_Timer()

void sftp_Timer ( void  )

◆ sftp_TraceBogus()

void sftp_TraceBogus ( long  filenum,
long  linenum 
)

◆ sftp_TraceStatus()

void sftp_TraceStatus ( struct SFTP_Entry sEntry,
int  filenum,
int  linenum 
)

◆ SFTP_Unbind()

long SFTP_Unbind ( RPC2_Handle  ConnHandle)

◆ sftp_UpdateRTT()

void sftp_UpdateRTT ( RPC2_PacketBuffer pb,
struct SFTP_Entry sEntry,
unsigned long  inbytes,
unsigned long  outbytes 
)

◆ sftp_vfclose()

void sftp_vfclose ( struct SFTP_Entry se)

◆ sftp_vfwritefile()

int sftp_vfwritefile ( struct SFTP_Entry se,
char *  buf,
int  nbytes 
)

◆ sftp_WriteStrategy()

int sftp_WriteStrategy ( struct SFTP_Entry sEntry)

◆ sftp_XmitPacket()

int sftp_XmitPacket ( struct SFTP_Entry sentry,
RPC2_PacketBuffer pb,
int  confirm 
)

Variable Documentation

◆ SFTP_AckPoint

long SFTP_AckPoint
extern

◆ sftp_ackr

long sftp_ackr

◆ sftp_acks

long sftp_acks

◆ sftp_ackslost

long sftp_ackslost

◆ sftp_bogus

long sftp_bogus

◆ sftp_busy

long sftp_busy

◆ sftp_datar

long sftp_datar

◆ sftp_datas

long sftp_datas
extern

◆ SFTP_DebugLevel

long SFTP_DebugLevel
extern

◆ sftp_didpiggy

long sftp_didpiggy

◆ SFTP_DoPiggy

long SFTP_DoPiggy
extern

◆ sftp_duplicates

long sftp_duplicates

◆ SFTP_DupThreshold

long SFTP_DupThreshold
extern

◆ SFTP_EnforceQuota

long SFTP_EnforceQuota
extern

◆ SFTP_MaxPackets

long SFTP_MaxPackets
extern

◆ sftp_PacketsInUse

long sftp_PacketsInUse
extern

◆ SFTP_PacketSize

long SFTP_PacketSize
extern

◆ sftp_retries

long sftp_retries

◆ sftp_rttupdates

long sftp_rttupdates

◆ SFTP_SendAhead

long SFTP_SendAhead
extern

◆ sftp_starts

long sftp_starts

◆ sftp_starved

long sftp_starved

◆ sftp_timeouts

long sftp_timeouts

◆ sftp_triggers

long sftp_triggers

◆ sftp_windowfulls

long sftp_windowfulls

◆ SFTP_WindowSize

long SFTP_WindowSize
extern