Click to open or copy the files for the Interop sample.
This sample demonstrates portability between OSF DCE RPC and Microsoft RPC. This program sends simple messages (strings) from the client to the server. The most important part of INTEROP is the header file Dceport.h. This header file maps OSF DCE RPC APIs and data structures to the Microsoft RPC equivalents.
Main Files
File | Description |
Readme.txt | Readme file for the INTEROP sample |
Msg.idl | Interface definition language file |
Msg.acf | Attribute configuration file |
Dceport.h | Maps OSF APIs and structures to Microsoft RPC equivalents |
Client.c | Client main program |
Server.c | Server main program |
Midluser.c | Memory management routines for Microsoft RPC |
Manager.c | Client-side utility routines |
Makefile | Nmake file to build for Windows NT or Windows 95 |
Makefile.dos | Nmake file to build for MS-DOS |
Makefile.dos | Makefile to build for DCE platform |
This sample uses the following keywords:
clientmessage; defined; exit; free; interop_clientmessage; interop_shutdownserver; malloc; midl_user_allocate; midl_user_free; ndrclientinitializenew; ndrconformantstringbuffersize; ndrconformantstringmarshall; ndrconformantstringunmarshall; ndrconvert; ndrfcshort; ndrfreebuffer; ndrgetbuffer; ndrsendreceive; ndrserverinitializenew; printf; raise; rpc_binding_copy; rpc_binding_free; rpc_binding_from_string_binding; rpc_binding_inq_auth_client; rpc_binding_inq_auth_info; rpc_binding_inq_object; rpc_binding_reset; rpc_binding_server_from_client; rpc_binding_set_auth_info; rpc_binding_set_object; rpc_binding_to_string_binding; rpc_binding_vector_free; rpc_ep_register; rpc_ep_register_no_replace; rpc_ep_resolve_binding; rpc_ep_unregister; rpc_if_id_vector_free; rpc_if_inq_id; rpc_if_register_auth_info; rpc_mgmt_ep_elt_inq_begin; rpc_mgmt_ep_elt_inq_done; rpc_mgmt_ep_elt_inq_next; rpc_mgmt_ep_unregister; rpc_mgmt_inq_com_timeout; rpc_mgmt_inq_dflt_protect_level; rpc_mgmt_inq_if_ids; rpc_mgmt_inq_server_princ_name; rpc_mgmt_inq_stats; rpc_mgmt_is_server_listening; rpc_mgmt_set_authorization_fn; rpc_mgmt_set_cancel_timeout; rpc_mgmt_set_com_timeout; rpc_mgmt_set_server_stack_size; rpc_mgmt_stats_vector_free; rpc_mgmt_stop_server_listening; rpc_network_inq_protseqs; rpc_network_is_protseq_valid; rpc_ns_binding_export; rpc_ns_binding_import_begin; rpc_ns_binding_import_done; rpc_ns_binding_import_next; rpc_ns_binding_inq_entry_name; rpc_ns_binding_lookup_begin; rpc_ns_binding_lookup_done; rpc_ns_binding_lookup_next; rpc_ns_binding_select; rpc_ns_binding_unexport; rpc_ns_entry_expand_name; rpc_ns_entry_object_inq_begin; rpc_ns_entry_object_inq_done; rpc_ns_entry_object_inq_next; rpc_ns_group_delete; rpc_ns_group_mbr_add; rpc_ns_group_mbr_inq_begin; rpc_ns_group_mbr_inq_done; rpc_ns_group_mbr_inq_next; rpc_ns_group_mbr_remove; rpc_ns_mgmt_binding_unexport; rpc_ns_mgmt_entry_create; rpc_ns_mgmt_entry_delete; rpc_ns_mgmt_entry_inq_if_ids; rpc_ns_mgmt_handle_set_exp_age; rpc_ns_mgmt_inq_exp_age; rpc_ns_mgmt_set_exp_age; rpc_ns_profile_delete; rpc_ns_profile_elt_add; rpc_ns_profile_elt_inq_begin; rpc_ns_profile_elt_inq_done; rpc_ns_profile_elt_inq_next; rpc_ns_profile_elt_remove; rpc_object_inq_type; rpc_object_set_inq_fn; rpc_object_set_type; rpc_protseq_vector_free; rpc_server_inq_bindings; rpc_server_inq_if; rpc_server_listen; rpc_server_register_auth_info; rpc_server_register_if; rpc_server_unregister_if; rpc_server_use_all_protseqs; rpc_server_use_all_protseqs_if; rpc_server_use_protseq; rpc_server_use_protseq_ep; rpc_server_use_protseq_if; rpc_sm_alloce; rpc_sm_client_free; rpc_sm_destroy_client_context; rpc_sm_disable_allocate; rpc_sm_enable_allocate; rpc_sm_free; rpc_sm_get_thread_handle; rpc_sm_set_client_alloc_free; rpc_sm_set_thread_handle; rpc_sm_swap_client_alloc_free; rpc_string_binding_compose; rpc_string_binding_parse; rpc_string_free; rpcbindingcopy; rpcbindingfree; rpcbindingfromstringbinding; rpcbindinginqauthclient; rpcbindinginqauthinfo; rpcbindinginqobject; rpcbindingreset; rpcbindingserverfromclient; rpcbindingsetauthinfo; rpcbindingsetobject; rpcbindingtostringbinding; rpcbindingvectorfree; rpcepregister; rpcepregisternoreplace; rpcepresolvebinding; rpcepunregister; rpcexceptioncode; rpcifidvectorfree; rpcifinqid; rpcifregisterauthinfo; rpcleaveexception; rpcmgmtepeltinqbegin; rpcmgmtepeltinqdone; rpcmgmtepeltinqnext; rpcmgmtepunregister; rpcmgmtinqcomtimeout; rpcmgmtinqdefaultprotectlevel; rpcmgmtinqifids; rpcmgmtinqserverprincname; rpcmgmtinqstats; rpcmgmtisserverlistening; rpcmgmtsetauthorizathionfn; rpcmgmtsetcanceltimeout; rpcmgmtsetcomtimeout; rpcmgmtsetserverstacksize; rpcmgmtstatsvectorfree; rpcmgmtstopserverlistening; rpcnetworkinqprotseqs; rpcnetworkisprotseqvalid; rpcnsbindingexport; rpcnsbindingimportbegin; rpcnsbindingimportdone; rpcnsbindingimportnext; rpcnsbindinginqentryname; rpcnsbindinglookupbegin; rpcnsbindinglookupdone; rpcnsbindinglookupnext; rpcnsbindingselect; rpcnsbindingunexport; rpcnsentryexpandname; rpcnsentryobjectinqbegin; rpcnsentryobjectinqdone; rpcnsentryobjectinqnext; rpcnsgroupdelete; rpcnsgroupmbradd; rpcnsgroupmbrinqbegin; rpcnsgroupmbrinqdone; rpcnsgroupmbrinqnext; rpcnsgroupmbrremove; rpcnsmgmtbindingunexport; rpcnsmgmtentrycreate; rpcnsmgmtentrydelete; rpcnsmgmtentryinqifids; rpcnsmgmthandlesetexpage; rpcnsmgmtinqexpage; rpcnsmgmtsetexpage; rpcnsprofiledelete; rpcnsprofileeltadd; rpcnsprofileeltinqbegin; rpcnsprofileeltinqdone; rpcnsprofileeltinqnext; rpcnsprofileeltremove; rpcobjectinqtype; rpcobjectsetinqfn; rpcobjectsettype; rpcprotseqvectorfree; rpcraiseexception; rpcserverinqbindings; rpcserverinqif; rpcserverlisten; rpcserverregisterauthinfo; rpcserverregisterif; rpcserverunregisterif; rpcserveruseallprotseqs; rpcserveruseallprotseqsif; rpcserveruseprotseq; rpcserveruseprotseqep; rpcserveruseprotseqif; rpcsetexception; rpcsmallocate; rpcsmclientfree; rpcsmdestroyclientcontext; rpcsmdisableallocate; rpcsmenableallocate; rpcsmfree; rpcsmgetthreadhandle; rpcsmsetclientallocfree; rpcsmsetthreadhandle; rpcsmswapclientallocfree; rpcstringbindingcompose; rpcstringbindingparse; rpcstringfree; shutdownserver; tolower; usage; uuid_compare; uuid_create; uuid_create_nil; uuid_equal; uuid_from_string; uuid_hash; uuid_is_nil; uuid_to_string; uuidcompare; uuidcreate; uuidcreatenil; uuidequal; uuidfromstring; uuidhash; uuidisnil; uuidtostring