/* LOC_API TOOL VERSION: 4.36 */
/*=============================================================================
                             L O C _ A P I . X D R

GENERAL DESCRIPTION
  This is an AUTO GENERATED file that provides an xdr compatible definition of
  the loc_api API.

  ---------------------------------------------------------------------------
  Copyright (c) 2010 QUALCOMM Incorporated.
  All Rights Reserved. QUALCOMM Proprietary and Confidential.
  ---------------------------------------------------------------------------
=============================================================================*/

/*=============================================================================

                              Edit History

                             AUTO GENERATED

Generated by following versions of Htorpc modules:
Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/htorpc.pl#20 
Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Start.pm#3 
Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Htoxdr.pm#1 
Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/XDR.pm#7 
Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Output.pm#29 
Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Parser.pm#2 
Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Metacomments.pm#6 
Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/SymbolTable.pm#3  

loc_api Definition File(s):
Id: //source/qcom/qct/modem/api/gps/main/latest/loc_api.h#16
=============================================================================*/
/*=============================================================================
$Header$ 
=============================================================================*/



typedef rpc_uint32 rpc_loc_api_api_versions_return_type<>;

/*
 * Declare an rpc_uint32 type for each callback type in the API
 */
typedef rpc_uint32 rpc_loc_event_cb_f_type;



/*
 * These are struct declarations for the function arguments
 */

struct rpc_loc_open_args {
  rpc_loc_event_mask_type event_reg_mask;
  rpc_loc_event_cb_f_type event_callback;
};

struct rpc_loc_close_args {
  rpc_loc_client_handle_type handle;
};

struct rpc_loc_start_fix_args {
  rpc_loc_client_handle_type handle;
};

struct rpc_loc_stop_fix_args {
  rpc_loc_client_handle_type handle;
};

struct rpc_loc_ioctl_args {
  rpc_loc_client_handle_type handle;
  rpc_loc_ioctl_e_type ioctl_type;
  rpc_loc_ioctl_data_u_type *ioctl_data;
};



struct rpc_loc_api_api_version_s_args {
  rpc_boolean len_not_null;
};

/*
 * These are struct declarations for the function results
 */

struct rpc_loc_api_rpc_glue_code_info_remote_rets {
  rpc_uint32 toolvers;   /* Tool version */
  rpc_uint32 features;   /* Features turned on in the code.
                          * 0x00000001    ONCRPC Server Cleanup Support
                          */
  rpc_uint32 proghash;   /* Unique hash value for the API XDR definition */
  rpc_uint32 cbproghash; /* Unique hash value for the Callbacks' XDR definition */
};

struct rpc_loc_open_rets {
  rpc_loc_client_handle_type loc_open_result;
};

struct rpc_loc_close_rets {
  rpc_int32 loc_close_result;
};

struct rpc_loc_start_fix_rets {
  rpc_int32 loc_start_fix_result;
};

struct rpc_loc_stop_fix_rets {
  rpc_int32 loc_stop_fix_result;
};

struct rpc_loc_ioctl_rets {
  rpc_int32 loc_ioctl_result;
};

 struct rpc_loc_api_api_versions_rets {
  rpc_loc_api_api_versions_return_type loc_api_api_versions_result;
  rpc_uint32 *len;
};

/*
 * XDR definition of the LOC_API program ( vers. 0x00040002 )
 */

program LOC_APIPROG {
  version LOC_APIVERS_0001 {

	void
		rpc_loc_api_null( void ) = 0;

	rpc_loc_api_rpc_glue_code_info_remote_rets
		rpc_loc_api_rpc_glue_code_info_remote( void ) = 1;

	rpc_loc_open_rets
		rpc_loc_open( rpc_loc_open_args ) = 2;

	rpc_loc_close_rets
		rpc_loc_close( rpc_loc_close_args ) = 3;

	rpc_loc_start_fix_rets
		rpc_loc_start_fix( rpc_loc_start_fix_args ) = 4;

	rpc_loc_stop_fix_rets
		rpc_loc_stop_fix( rpc_loc_stop_fix_args ) = 5;

	rpc_loc_ioctl_rets
		rpc_loc_ioctl( rpc_loc_ioctl_args ) = 6;

	rpc_loc_api_api_versions_rets
		rpc_loc_api_api_versions( void ) = 0xFFFFFFFF;




  } = 0x00040001;



    version LOC_APIVERS_0002 {

/* Following elements added in enum rpc_loc_ni_event_e_type in 0x00040002 
RPC_LOC_NI_EVENT_VX_SERVICE_INTERACTION_REQ
*/

	void
	rpc_loc_api_null( void ) = 0;

      } = 0x00040002;


} = 0x3000008c;

const LOC_APIVERS = 0x00040002;