Additional Topics > External Development Guide > Remote Procedure Calls > Using IDL as an RPC Server

# Using IDL as an RPC Server

## The IDL RPC Directory

All of the files related to using IDL’s RPC capabilities are found in the rpc subdirectory of the external subdirectory of the main IDL directory. The main IDL directory is referred to here as idldir.

## Running IDL in Server Mode

To use IDL as an RPC server, run IDL in server mode by using the idlrpc command. The RPC server can be invoked one of two ways:

idlrpc

or

idlrpc -server=server_number

where server_number is the hexadecimal server ID number (between 0x20000000 and 0x3FFFFFFF) for IDL to use. For example, to run IDL with the server ID number 0x20500000, use the command:

idlrpc -server=20500000

If a server ID number is not supplied, IDL uses the default, IDL_RPC_DEFAULT_ID, defined in the file `idldir/external/rpc/idl_rpc.h`. This value is originally set to 0x2010CAFE.

An additional way to call idlrpc is:

idlrpc -port=<port_number>

By specifying a port number, the RPC server is registered on the specified port via the loopback interface. The port number specified must be an unused port in the range of 0 to 65535.