annotate settings.c @ 6:5f319e02e333 src

Some cleaning up. changed exit(1) to assert(0) so they actually get seen by the user so that it helps developers more.
author jcdutton
date Sat, 06 Apr 2002 18:31:50 +0000
parents 3ddf0eaece51
children 3c1df0cb3aee
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
1 /*
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
2 * Copyright (C) 2000 Rich Wareham <richwareham@users.sourceforge.net>
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
3 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
4 * This file is part of libdvdnav, a DVD navigation library.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
5 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
6 * libdvdnav is free software; you can redistribute it and/or modify
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
9 * (at your option) any later version.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
10 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
11 * libdvdnav is distributed in the hope that it will be useful,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
14 * GNU General Public License for more details.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
15 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
19 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
20 * $Id$
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
21 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
22 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
23
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
24 #ifdef HAVE_CONFIG_H
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
25 #include "config.h"
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
26 #endif
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
27
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
28 #include <dvdnav.h>
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
29 #include "dvdnav_internal.h"
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
30
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
31 #include "vm.h"
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
32
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
33 /* Characteristics/setting API calls */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
34
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
35 dvdnav_status_t dvdnav_get_region_mask(dvdnav_t *self, int *region) {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
36 if(!self)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
37 return S_ERR;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
38
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
39 if(!region) {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
40 printerr("Passed a NULL pointer");
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
41 return S_ERR;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
42 }
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
43
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
44 if(!self->vm) {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
45 printerr("VM not yet initialised");
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
46 return S_ERR;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
47 }
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
48
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
49 (*region) = self->vm->state.registers.SPRM[20];
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
50
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
51 return S_OK;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
52 }
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
53
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
54 dvdnav_status_t dvdnav_set_region_mask(dvdnav_t *self, int mask) {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
55 if(!self)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
56 return S_ERR;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
57
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
58 if(!self->vm) {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
59 printerr("VM not yet initialised");
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
60 return S_ERR;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
61 }
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
62
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
63 self->vm->state.registers.SPRM[20] = (mask & 0xff);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
64
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
65 return S_OK;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
66 }
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
67
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
68 dvdnav_status_t dvdnav_set_readahead_flag(dvdnav_t *self, int use_readahead) {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
69 if(!self)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
70 return S_ERR;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
71
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
72 self->use_read_ahead = use_readahead;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
73
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
74 return S_OK;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
75 }
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
76
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
77 dvdnav_status_t dvdnav_get_readahead_flag(dvdnav_t *self, int* flag) {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
78 if(!self)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
79 return S_ERR;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
80
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
81 if(!flag) {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
82 printerr("Passed a NULL pointer");
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
83 return S_ERR;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
84 }
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
85
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
86 (*flag) = self->use_read_ahead;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
87 return S_OK;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
88 }
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
89