Files
rosetta/lib/liblaunch/stack.h

27 lines
489 B
C

#ifndef LIBLAUNCH_STACK_H_
#define LIBLAUNCH_STACK_H_
#include <mango/types.h>
struct stack_writer {
virt_addr_t w_local_sp;
virt_addr_t w_remote_sp;
};
extern void stack_writer_init(
struct stack_writer *w,
virt_addr_t local_sp,
virt_addr_t remote_sp);
extern void *stack_writer_put_string(
struct stack_writer *w,
const char *s,
virt_addr_t *out_remote);
extern void *stack_writer_put(
struct stack_writer *w,
const void *p,
size_t len,
virt_addr_t *out_remote);
#endif