]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/m2/gm2-libs-iso/ChanConsts.h
Merge modula-2 front end onto gcc.
[thirdparty/gcc.git] / gcc / m2 / gm2-libs-iso / ChanConsts.h
1 /* ChanConsts.h define enum to be used by C components.
2
3 Copyright (C) 2001-2021 Free Software Foundation, Inc.
4 Contributed by Gaius Mulley <gaius@glam.ac.uk>.
5
6 This file is part of GNU Modula-2.
7
8 GNU Modula-2 is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
12
13 GNU Modula-2 is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 General Public License for more details.
17
18 Under Section 7 of GPL version 3, you are granted additional
19 permissions described in the GCC Runtime Library Exception, version
20 3.1, as published by the Free Software Foundation.
21
22 You should have received a copy of the GNU General Public License and
23 a copy of the GCC Runtime Library Exception along with this program;
24 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
25 <http://www.gnu.org/licenses/>. */
26
27 /* These must match ChanConsts.def. */
28
29 typedef enum openResults {
30 opened, /* the open succeeded as requested */
31 wrongNameFormat, /* given name is in the wrong format for the implementation */
32 wrongFlags, /* given flags include a value that does not apply to the device */
33 tooManyOpen, /* this device cannot support any more open channels */
34 outOfChans, /* no more channels can be allocated */
35 wrongPermissions, /* file or directory permissions do not allow request */
36 noRoomOnDevice, /* storage limits on the device prevent the open */
37 noSuchFile, /* a needed file does not exist */
38 fileExists, /* a file of the given name already exists when a new one is required */
39 wrongFileType, /* the file is of the wrong type to support the required operations */
40 noTextOperations, /* text operations have been requested, but are not supported */
41 noRawOperations, /* raw operations have been requested, but are not supported */
42 noMixedOperations,/* text and raw operations have been requested, but they
43 are not supported in combination */
44 alreadyOpen, /* the source/destination is already open for operations not supported
45 in combination with the requested operations */
46 otherProblem /* open failed for some other reason */
47 } openResults;