Mercurial > libdvdnav.hg
comparison vm.h @ 120:66ca475e2a5a src
- provide the means to make copies of the VM to try certain operations on a copy and
merge the changes back on success
- do not trigger an assertion when falling off a program chain, but stop the VM
author | mroi |
---|---|
date | Wed, 12 Mar 2003 11:38:11 +0000 |
parents | b6834e6359cf |
children | d09a81cf65ce |
comparison
equal
deleted
inserted
replaced
119:bd8601b74c3d | 120:66ca475e2a5a |
---|---|
111 #define HL_BTNN_REG registers.SPRM[8] | 111 #define HL_BTNN_REG registers.SPRM[8] |
112 /* Parental Level */ | 112 /* Parental Level */ |
113 #define PTL_REG registers.SPRM[13] | 113 #define PTL_REG registers.SPRM[13] |
114 | 114 |
115 /* Initialisation & destruction */ | 115 /* Initialisation & destruction */ |
116 vm_t* vm_new_vm(); | 116 vm_t *vm_new_vm(); |
117 void vm_free_vm(vm_t *vm); | 117 void vm_free_vm(vm_t *vm); |
118 | 118 |
119 /* IFO access */ | 119 /* IFO access */ |
120 ifo_handle_t *vm_get_vmgi(vm_t *vm); | 120 ifo_handle_t *vm_get_vmgi(vm_t *vm); |
121 ifo_handle_t *vm_get_vtsi(vm_t *vm); | 121 ifo_handle_t *vm_get_vtsi(vm_t *vm); |
125 | 125 |
126 /* Basic Handling */ | 126 /* Basic Handling */ |
127 void vm_start(vm_t *vm); | 127 void vm_start(vm_t *vm); |
128 void vm_stop(vm_t *vm); | 128 void vm_stop(vm_t *vm); |
129 int vm_reset(vm_t *vm, const char *dvdroot); | 129 int vm_reset(vm_t *vm, const char *dvdroot); |
130 | |
131 /* copying and merging - useful for try-running an operation */ | |
132 vm_t *vm_new_copy(vm_t *vm); | |
133 void vm_merge(vm_t *target, vm_t *source); | |
134 void vm_free_copy(vm_t *vm); | |
130 | 135 |
131 /* regular playback */ | 136 /* regular playback */ |
132 void vm_position_get(vm_t *vm, vm_position_t *position); | 137 void vm_position_get(vm_t *vm, vm_position_t *position); |
133 void vm_get_next_cell(vm_t *vm); | 138 void vm_get_next_cell(vm_t *vm); |
134 | 139 |