# Module Rpc

    module Rpc: sig .. end

Common types and exceptions

    type protocol =

`|` | `Tcp` | `(*` | means: stream-oriented connection | `*)`
`|` | `Udp` | `(*` | means: datagram exchange | `*)`

    type mode =

`|` | `Socket` | `(*` | classical server socket | `*)`
`|` | `BiPipe` | `(*` | server is endpoint of a bidirectional pipe | `*)`

    type server_error =

`|` | `Unavailable_program` | `(*` | accepted call! | `*)`
`|` | `Unavailable_version of `(Rtypes.uint4 * Rtypes.uint4)`` | `(*` | accepted call | `*)`
`|` | `Unavailable_procedure` | `(*` | accepted call | `*)`
`|` | `Garbage` | `(*` | accepted call | `*)`
`|` | `System_err` | `(*` | accepted call | `*)`
`|` | `Rpc_mismatch of `(Rtypes.uint4 * Rtypes.uint4)`` | `(*` | rejected call | `*)`
`|` | `Auth_bad_cred` | `(*` | rejected call | `*)`
`|` | `Auth_rejected_cred` | `(*` | rejected call | `*)`
`|` | `Auth_bad_verf` | `(*` | rejected call | `*)`
`|` | `Auth_rejected_verf` | `(*` | rejected call | `*)`
`|` | `Auth_too_weak` | `(*` | rejected call | `*)`
`|` | `Auth_invalid_resp` | `(*` | rejected call | `*)`
`|` | `Auth_failed` | `(*` | rejected call | `*)`
`|` | `RPCSEC_GSS_credproblem` | `(*` | rejected call | `*)`
`|` | `RPCSEC_GSS_ctxproblem` | `(*` | rejected call | `*)`

    val string_of_server_error : server_error -> string

returns a string for debug purposes

    exception Rpc_server of server_error

an exception generated by the RPC server

    exception Rpc_cannot_unpack of string

RPC protocol error (bad data)