+struct frame_info;
+struct regcache;
+
+/* A struction containing pointers to all the target-dependent operations
+ performed to setup an inferior function call. */
+
+struct ia64_infcall_ops
+{
+ /* Allocate a new register stack frame starting after the output
+ region of the current frame. The new frame will contain SOF
+ registers, all in the output region. This is one way of protecting
+ the stacked registers of the current frame.
+
+ Should do nothing if this operation is not permitted by the OS. */
+ void (*allocate_new_rse_frame) (struct regcache *regcache, ULONGEST bsp,
+ int sof);
+
+ /* Store the argument stored in BUF into the appropriate location
+ given the BSP and the SLOTNUM. */
+ void (*store_argument_in_slot) (struct regcache *regcache, CORE_ADDR bsp,
+ int slotnum, gdb_byte *buf);
+
+ /* For targets where we cannot call the function directly, store
+ the address of the function we want to call at the location
+ expected by the calling sequence. */
+ void (*set_function_addr) (struct regcache *regcache, CORE_ADDR func_addr);
+};
+