Coda Distributed File System
Macros | Functions
multi2.c File Reference
#include <stdio.h>
#include <string.h>
#include <sys/file.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <errno.h>
#include <stdarg.h>
#include <stdlib.h>
#include <assert.h>
#include <rpc2/multi.h>
#include <rpc2/se.h>
#include "rpc2.private.h"
Include dependency graph for multi2.c:

Macros

#define _ROUND(n, a)   (n) = (void *)((((intptr_t)n) + ((a) - 1)) & ~((a) - 1))
 
#define _INCR(n, a)   (n) = (void *)((intptr_t)(n) + a)
 
#define _PAD(n)   (((n) + 3) & ~3)
 
#define _PADWORD(n)   (((n) + 1) & ~1)
 
#define _PADLONG(n)   _PAD(n)
 
#define CHECK(size)
 

Functions

long MRPC_UnpackMulti (int HowMany, RPC2_Handle ConnHandleList[], ARG_INFO *ArgInfo, RPC2_PacketBuffer *rspbuffer, long rpcval, long offset)
 
int get_len (ARG **a_types, PARM **args, MODE mode)
 
void pack (ARG *a_types, PARM **args, unsigned char **_ptr)
 
void pack_struct (ARG *a_types, PARM **args, unsigned char **ptr)
 
int unpack_struct (ARG *a_types, PARM **args, unsigned char **_ptr, char *_end, long offset)
 
long MRPC_MakeMulti (int ServerOp, ARG ArgTypes[], RPC2_Integer HowMany, RPC2_Handle CIDList[], RPC2_Integer RCList[], RPC2_Multicast *MCast, RPC2_HandleResult_func *HandleResult, struct timeval *Timeout,...)
 
int struct_len (ARG **a_types, PARM **args)
 
int unpack (ARG *a_types, PARM *args, unsigned char **_ptr, char *_end, long offset)
 

Macro Definition Documentation

◆ _INCR

#define _INCR (   n,
 
)    (n) = (void *)((intptr_t)(n) + a)

◆ _PAD

#define _PAD (   n)    (((n) + 3) & ~3)

◆ _PADLONG

#define _PADLONG (   n)    _PAD(n)

◆ _PADWORD

#define _PADWORD (   n)    (((n) + 1) & ~1)

◆ _ROUND

#define _ROUND (   n,
 
)    (n) = (void *)((((intptr_t)n) + ((a) - 1)) & ~((a) - 1))

◆ CHECK

#define CHECK (   size)
Value:
do { \
if (((char *)*_ptr + (size)) > _end) \
return EINVAL; \
} while (0)
#define EINVAL
Definition: errors.h:102

Function Documentation

◆ get_len()

int get_len ( ARG **  a_types,
PARM **  args,
MODE  mode 
)

◆ MRPC_MakeMulti()

long MRPC_MakeMulti ( int  ServerOp,
ARG  ArgTypes[],
RPC2_Integer  HowMany,
RPC2_Handle  CIDList[],
RPC2_Integer  RCList[],
RPC2_Multicast MCast,
RPC2_HandleResult_func HandleResult,
struct timeval *  Timeout,
  ... 
)

◆ MRPC_UnpackMulti()

long MRPC_UnpackMulti ( int  HowMany,
RPC2_Handle  ConnHandleList[],
ARG_INFO ArgInfo,
RPC2_PacketBuffer rspbuffer,
long  rpcval,
long  offset 
)

◆ pack()

void pack ( ARG a_types,
PARM **  args,
unsigned char **  _ptr 
)

◆ pack_struct()

void pack_struct ( ARG a_types,
PARM **  args,
unsigned char **  ptr 
)

◆ struct_len()

int struct_len ( ARG **  a_types,
PARM **  args 
)

◆ unpack()

int unpack ( ARG a_types,
PARM args,
unsigned char **  _ptr,
char *  _end,
long  offset 
)

◆ unpack_struct()

int unpack_struct ( ARG a_types,
PARM **  args,
unsigned char **  _ptr,
char *  _end,
long  offset 
)