c++: [[no_unique_address]] and cv-qualified type
[official-gcc.git] / libgm2 / libm2iso / ChanConsts.h
blob78a53213d436ab71126c4e0b6f9269e84d72f0c1
1 /* ChanConsts.h provides a C header file for ISO ChanConst.def.
3 Copyright (C) 2009-2022 Free Software Foundation, Inc.
4 Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
6 This file is part of GNU Modula-2.
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.
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.
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.
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/>. */
27 /* taken from ChanConsts.def */
29 typedef enum openResults {
30 opened, /* the open succeeded as requested. */
31 wrongNameFormat, /* given name is in the wrong format for the implementation.
33 wrongFlags, /* given flags include a value that does not apply to the device.
35 tooManyOpen, /* this device cannot support any more open channels. */
36 outOfChans, /* no more channels can be allocated. */
37 wrongPermissions, /* file or directory permissions do not allow request. */
38 noRoomOnDevice, /* storage limits on the device prevent the open. */
39 noSuchFile, /* a needed file does not exist. */
40 fileExists, /* a file of the given name already exists when a new one is
41 required. */
42 wrongFileType, /* the file is of the wrong type to support the required
43 operations. */
44 noTextOperations, /* text operations have been requested, but are not
45 supported. */
46 noRawOperations, /* raw operations have been requested, but are not
47 supported. */
48 noMixedOperations,
50 /* text and raw operations have been requested, but they are not
51 supported in combination */
52 alreadyOpen,
54 /* the source/destination is already open for operations not
55 supported in combination with the requested operations */
56 otherProblem /* open failed for some other reason. */
57 } openResults;