When a client calls a synchronous function, it waits for the operation to complete before executing any subsequent code. Synchronous functions return Success if successful and an error code if not.