Coda Distributed File System
|
#include <stdio.h>
#include <sys/types.h>
#include <sys/file.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <assert.h>
#include <string.h>
#include <limits.h>
#include <unistd.h>
#include <rpc2/se.h>
#include <rpc2/sftp.h>
#include "rpc2.private.h"
Macros | |
#define | FAIL(se, rCode) |
#define | QUIT(se, RC1, RC2) |
#define | BOGUS(pb) (sftp_TraceBogus(1, __LINE__), sftp_bogus++, SFTP_FreeBuffer(&pb)) |
Functions | |
long | SFTP_Init () |
void | SFTP_SetDefaults (SFTP_Initializer *initPtr) |
void | SFTP_Activate (SFTP_Initializer *initPtr) |
long | SFTP_Bind1 (IN RPC2_Handle ConnHandle, IN RPC2_CountedBS *ClientIdent) |
long | SFTP_Bind2 (IN RPC2_Handle ConnHandle, IN RPC2_Unsigned BindTime) |
long | SFTP_Unbind (IN RPC2_Handle ConnHandle) |
long | SFTP_NewConn (IN RPC2_Handle ConnHandle, IN RPC2_CountedBS *ClientIdent) |
long | SFTP_MakeRPC1 (IN RPC2_Handle ConnHandle, INOUT SE_Descriptor *SDesc, INOUT RPC2_PacketBuffer **RequestPtr) |
long | SFTP_MakeRPC2 (IN RPC2_Handle ConnHandle, INOUT SE_Descriptor *SDesc, INOUT RPC2_PacketBuffer *Reply) |
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 (IN RPC2_Handle ConnHandle, IN RPC2_PacketBuffer **Reply) |
long | SFTP_GetTime (IN RPC2_Handle ConnHandle, INOUT struct timeval *Time) |
long | SFTP_GetHostInfo (IN RPC2_Handle ConnHandle, INOUT struct HEntry **HPtr) |
int | sftp_AddPiggy (RPC2_PacketBuffer **whichP, char *dPtr, off_t dSize, unsigned int maxSize) |
off_t | sftp_AppendFileToPacket (struct SFTP_Entry *sEntry, RPC2_PacketBuffer **whichP) |
off_t | sftp_ExtractFileFromPacket (struct SFTP_Entry *sEntry, RPC2_PacketBuffer *whichP) |
int | sftp_AppendParmsToPacket (struct SFTP_Entry *sEntry, RPC2_PacketBuffer **whichP) |
int | sftp_ExtractParmsFromPacket (struct SFTP_Entry *sEntry, RPC2_PacketBuffer *whichP) |
struct SFTP_Entry * | sftp_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) |
void | sftp_SetError (struct SFTP_Entry *s, enum SFState e) |
long | SFTP_PrintSED (IN SDesc, IN outFile) SE_Descriptor *SDesc |
assert (SDesc->Tag==SMARTFTP) | |
switch (SDesc->LocalStatus) | |
fprintf (outFile, "Tag: SMARTFTP\n") | |
fprintf (outFile, "TransmissionDirection: %s hashmark: '%c' " "SeekOffset: %ld BytesTransferred: %ld " "ByteQuota: %ld QuotaExceeded: %ld\n",(sftpd->TransmissionDirection==CLIENTTOSERVER) ? "CLIENTTOSERVER" :(sftpd->TransmissionDirection==SERVERTOCLIENT) ? "SERVERTOCLIENT" :"??????", sftpd->hashmark, sftpd->SeekOffset, sftpd->BytesTransferred, sftpd->ByteQuota, sftpd->QuotaExceeded) | |
switch (sftpd->Tag) | |
Variables | |
FILE * | outFile |
sftpd = &SDesc->Value.SmartFTPD | |
return | |
#define BOGUS | ( | pb | ) | (sftp_TraceBogus(1, __LINE__), sftp_bogus++, SFTP_FreeBuffer(&pb)) |
#define FAIL | ( | se, | |
rCode | |||
) |
#define QUIT | ( | se, | |
RC1, | |||
RC2 | |||
) |
fprintf | ( | outFile | , |
"Tag: SMARTFTP\n" | |||
) |
fprintf | ( | outFile | , |
"TransmissionDirection: %s hashmark: '%c' " "SeekOffset: %ld BytesTransferred: %ld " "ByteQuota: %ld QuotaExceeded: %ld\n" | , | ||
(sftpd->TransmissionDirection==CLIENTTOSERVER) ? "CLIENTTOSERVER" :(sftpd->TransmissionDirection==SERVERTOCLIENT) ? "SERVERTOCLIENT" :"??????" | , | ||
sftpd-> | hashmark, | ||
sftpd-> | SeekOffset, | ||
sftpd-> | BytesTransferred, | ||
sftpd-> | ByteQuota, | ||
sftpd-> | QuotaExceeded | ||
) |
void SFTP_Activate | ( | SFTP_Initializer * | initPtr | ) |
int sftp_AddPiggy | ( | RPC2_PacketBuffer ** | whichP, |
char * | dPtr, | ||
off_t | dSize, | ||
unsigned int | maxSize | ||
) |
void sftp_AllocPiggySDesc | ( | struct SFTP_Entry * | se, |
off_t | len, | ||
enum WhichWay | direction | ||
) |
struct SFTP_Entry * sftp_AllocSEntry | ( | void | ) |
off_t sftp_AppendFileToPacket | ( | struct SFTP_Entry * | sEntry, |
RPC2_PacketBuffer ** | whichP | ||
) |
int sftp_AppendParmsToPacket | ( | struct SFTP_Entry * | sEntry, |
RPC2_PacketBuffer ** | whichP | ||
) |
long SFTP_Bind1 | ( | IN RPC2_Handle | ConnHandle, |
IN RPC2_CountedBS * | ClientIdent | ||
) |
long SFTP_Bind2 | ( | IN RPC2_Handle | ConnHandle, |
IN RPC2_Unsigned | BindTime | ||
) |
long SFTP_CheckSE | ( | RPC2_Handle | ConnHandle, |
SE_Descriptor * | SDesc, | ||
long | Flags | ||
) |
off_t sftp_ExtractFileFromPacket | ( | struct SFTP_Entry * | sEntry, |
RPC2_PacketBuffer * | whichP | ||
) |
int sftp_ExtractParmsFromPacket | ( | struct SFTP_Entry * | sEntry, |
RPC2_PacketBuffer * | whichP | ||
) |
void sftp_FreePiggySDesc | ( | struct SFTP_Entry * | se | ) |
void sftp_FreeSEntry | ( | struct SFTP_Entry * | se | ) |
long SFTP_GetHostInfo | ( | IN RPC2_Handle | ConnHandle, |
INOUT struct HEntry ** | HPtr | ||
) |
long SFTP_GetRequest | ( | RPC2_Handle | ConnHandle, |
RPC2_PacketBuffer * | Request | ||
) |
long SFTP_GetTime | ( | IN RPC2_Handle | ConnHandle, |
INOUT struct timeval * | Time | ||
) |
long SFTP_Init | ( | ) |
long SFTP_InitSE | ( | RPC2_Handle | ConnHandle, |
SE_Descriptor * | SDesc | ||
) |
long SFTP_MakeRPC1 | ( | IN RPC2_Handle | ConnHandle, |
INOUT SE_Descriptor * | SDesc, | ||
INOUT RPC2_PacketBuffer ** | RequestPtr | ||
) |
long SFTP_MakeRPC2 | ( | IN RPC2_Handle | ConnHandle, |
INOUT SE_Descriptor * | SDesc, | ||
INOUT RPC2_PacketBuffer * | Reply | ||
) |
long SFTP_NewConn | ( | IN RPC2_Handle | ConnHandle, |
IN RPC2_CountedBS * | ClientIdent | ||
) |
long SFTP_SendResponse | ( | IN RPC2_Handle | ConnHandle, |
IN RPC2_PacketBuffer ** | Reply | ||
) |
void SFTP_SetDefaults | ( | SFTP_Initializer * | initPtr | ) |
void sftp_SetError | ( | struct SFTP_Entry * | s, |
enum SFState | e | ||
) |
long SFTP_Unbind | ( | IN RPC2_Handle | ConnHandle | ) |
switch | ( | SDesc-> | LocalStatus | ) |
switch | ( | sftpd-> | Tag | ) |
FILE* outFile |
return |
sftpd = &SDesc->Value.SmartFTPD |