|
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 |