SUN RPC subsystem
Prev
Chapter 1. Linux Networking
Next
SUN RPC subsystem
xdr_encode_opaque_fixed
— Encode fixed length opaque data
xdr_encode_opaque
— Encode variable length opaque data
xdr_terminate_string
— '\0'-terminate a string residing in an xdr_buf
_copy_from_pages
—
xdr_stream_pos
— Return the current offset from the start of the xdr_stream
xdr_init_encode
— Initialize a struct xdr_stream for sending data.
xdr_commit_encode
— Ensure all data is written to buffer
xdr_reserve_space
— Reserve buffer space for sending
xdr_truncate_encode
— truncate an encode buffer
xdr_restrict_buflen
— decrease available buffer space
xdr_write_pages
— Insert a list of pages into an XDR buffer for sending
xdr_init_decode
— Initialize an xdr_stream for decoding data.
xdr_init_decode_pages
— Initialize an xdr_stream for decoding data.
xdr_set_scratch_buffer
— Attach a scratch buffer for decoding data.
xdr_inline_decode
— Retrieve XDR data to decode
xdr_read_pages
— Ensure page-based XDR data to decode is aligned at current pointer position
xdr_enter_page
— decode data from the XDR page
xdr_buf_subsegment
— set subbuf to a portion of buf
xdr_buf_trim
— lop at most
“
len
”
bytes off the end of
“
buf
”
svc_print_addr
— Format rq_addr field for printing
svc_reserve
— change the space reserved for the reply to a request.
svc_find_xprt
— find an RPC transport instance
svc_xprt_names
— format a buffer with a list of transport names
xprt_register_transport
— register a transport implementation
xprt_unregister_transport
— unregister a transport implementation
xprt_load_transport
— load a transport implementation
xprt_reserve_xprt
— serialize write access to transports
xprt_release_xprt
— allow other requests to use a transport
xprt_release_xprt_cong
— allow other requests to use a transport
xprt_release_rqst_cong
— housekeeping when request is complete
xprt_adjust_cwnd
— adjust transport congestion window
xprt_wake_pending_tasks
— wake all tasks on a transport's pending queue
xprt_wait_for_buffer_space
— wait for transport output buffer to clear
xprt_write_space
— wake the task waiting for transport output buffer space
xprt_set_retrans_timeout_def
— set a request's retransmit timeout
xprt_set_retrans_timeout_rtt
— set a request's retransmit timeout
xprt_disconnect_done
— mark a transport as disconnected
xprt_lookup_rqst
— find an RPC request corresponding to an XID
xprt_complete_rqst
— called when reply processing is complete
rpc_wake_up
— wake up all rpc_tasks
rpc_wake_up_status
— wake up all rpc_tasks and set their status value.
rpc_malloc
— allocate an RPC buffer
rpc_free
— free buffer allocated via rpc_malloc
xdr_skb_read_bits
— copy some data bits from skb to internal buffer
xdr_partial_copy_from_skb
— copy data out of an skb
csum_partial_copy_to_xdr
— checksum and copy data
rpc_alloc_iostats
— allocate an rpc_iostats structure
rpc_free_iostats
— release an rpc_iostats structure
rpc_count_iostats_metrics
— tally up per-task stats
rpc_count_iostats
— tally up per-task stats
rpc_queue_upcall
— queue an upcall message to userspace
rpc_mkpipe_dentry
— make an rpc_pipefs file for kernel<->userspace communication
rpc_unlink
— remove a pipe
rpc_init_pipe_dir_head
— initialise a struct rpc_pipe_dir_head
rpc_init_pipe_dir_object
— initialise a struct rpc_pipe_dir_object
rpc_add_pipe_dir_object
— associate a rpc_pipe_dir_object to a directory
rpc_remove_pipe_dir_object
— remove a rpc_pipe_dir_object from a directory
rpc_find_or_alloc_pipe_dir_object
—
rpcb_getport_async
— obtain the port for a given RPC service on a given host
rpc_create
— create an RPC client and transport with one call
rpc_clone_client
— Clone an RPC client structure
rpc_clone_client_set_auth
— Clone an RPC client structure and set its auth
rpc_switch_client_transport
—
rpc_bind_new_program
— bind a new RPC program to an existing client
rpc_run_task
— Allocate a new RPC task, then run rpc_execute against it
rpc_call_sync
— Perform a synchronous RPC call
rpc_call_async
— Perform an asynchronous RPC call
rpc_peeraddr
— extract remote peer address from clnt's xprt
rpc_peeraddr2str
— return remote peer address in printable format
rpc_localaddr
— discover local endpoint address for an RPC client
rpc_protocol
— Get transport protocol number for an RPC client
rpc_net_ns
— Get the network namespace for this RPC client
rpc_max_payload
— Get maximum payload size for a transport, in bytes
rpc_get_timeout
— Get timeout for transport in units of HZ
rpc_force_rebind
— force transport to check that remote port is unchanged