From aeb373bf4898fccdf3b309d77a9593a0cce8ddd3 Mon Sep 17 00:00:00 2001 From: David Howells Date: Mon, 30 Sep 2019 10:04:05 +0100 Subject: [PATCH] xg: Add UAE error constants Signed-off-by: David Howells --- rpc-api/uaerror.h | 469 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 469 insertions(+) create mode 100644 rpc-api/uaerror.h diff --git a/rpc-api/uaerror.h b/rpc-api/uaerror.h new file mode 100644 index 0000000..1345b23 --- /dev/null +++ b/rpc-api/uaerror.h @@ -0,0 +1,469 @@ +// Copyright 2003, Daria Phoebe Brashear +// released under the terms of the GPLv2: +// +// GNU GENERAL PUBLIC LICENSE +// Version 2, June 1991 +// +// Copyright (C) 1989, 1991 Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// Everyone is permitted to copy and distribute verbatim copies +// of this license document, but changing it is not allowed. +// +// Preamble +// +// The licenses for most software are designed to take away your +// freedom to share and change it. By contrast, the GNU General Public +// License is intended to guarantee your freedom to share and change free +// software--to make sure the software is free for all its users. This +// General Public License applies to most of the Free Software +// Foundation's software and to any other program whose authors commit to +// using it. (Some other Free Software Foundation software is covered by +// the GNU Lesser General Public License instead.) You can apply it to +// your programs, too. +// +// When we speak of free software, we are referring to freedom, not +// price. Our General Public Licenses are designed to make sure that you +// have the freedom to distribute copies of free software (and charge for +// this service if you wish), that you receive source code or can get it +// if you want it, that you can change the software or use pieces of it +// in new free programs; and that you know you can do these things. +// +// To protect your rights, we need to make restrictions that forbid +// anyone to deny you these rights or to ask you to surrender the rights. +// These restrictions translate to certain responsibilities for you if you +// distribute copies of the software, or if you modify it. +// +// For example, if you distribute copies of such a program, whether +// gratis or for a fee, you must give the recipients all the rights that +// you have. You must make sure that they, too, receive or can get the +// source code. And you must show them these terms so they know their +// rights. +// +// We protect your rights with two steps: (1) copyright the software, and +// (2) offer you this license which gives you legal permission to copy, +// distribute and/or modify the software. +// +// Also, for each author's protection and ours, we want to make certain +// that everyone understands that there is no warranty for this free +// software. If the software is modified by someone else and passed on, we +// want its recipients to know that what they have is not the original, so +// that any problems introduced by others will not reflect on the original +// authors' reputations. +// +// Finally, any free program is threatened constantly by software +// patents. We wish to avoid the danger that redistributors of a free +// program will individually obtain patent licenses, in effect making the +// program proprietary. To prevent this, we have made it clear that any +// patent must be licensed for everyone's free use or not licensed at all. +// +// The precise terms and conditions for copying, distribution and +// modification follow. +// +// GNU GENERAL PUBLIC LICENSE +// TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +// +// 0. This License applies to any program or other work which contains +// a notice placed by the copyright holder saying it may be distributed +// under the terms of this General Public License. The "Program", below, +// refers to any such program or work, and a "work based on the Program" +// means either the Program or any derivative work under copyright law: +// that is to say, a work containing the Program or a portion of it, +// either verbatim or with modifications and/or translated into another +// language. (Hereinafter, translation is included without limitation in +// the term "modification".) Each licensee is addressed as "you". +// +// Activities other than copying, distribution and modification are not +// covered by this License; they are outside its scope. The act of +// running the Program is not restricted, and the output from the Program +// is covered only if its contents constitute a work based on the +// Program (independent of having been made by running the Program). +// Whether that is true depends on what the Program does. +// +// 1. You may copy and distribute verbatim copies of the Program's +// source code as you receive it, in any medium, provided that you +// conspicuously and appropriately publish on each copy an appropriate +// copyright notice and disclaimer of warranty; keep intact all the +// notices that refer to this License and to the absence of any warranty; +// and give any other recipients of the Program a copy of this License +// along with the Program. +// +// You may charge a fee for the physical act of transferring a copy, and +// you may at your option offer warranty protection in exchange for a fee. +// +// 2. You may modify your copy or copies of the Program or any portion +// of it, thus forming a work based on the Program, and copy and +// distribute such modifications or work under the terms of Section 1 +// above, provided that you also meet all of these conditions: +// +// a) You must cause the modified files to carry prominent notices +// stating that you changed the files and the date of any change. +// +// b) You must cause any work that you distribute or publish, that in +// whole or in part contains or is derived from the Program or any +// part thereof, to be licensed as a whole at no charge to all third +// parties under the terms of this License. +// +// c) If the modified program normally reads commands interactively +// when run, you must cause it, when started running for such +// interactive use in the most ordinary way, to print or display an +// announcement including an appropriate copyright notice and a +// notice that there is no warranty (or else, saying that you provide +// a warranty) and that users may redistribute the program under +// these conditions, and telling the user how to view a copy of this +// License. (Exception: if the Program itself is interactive but +// does not normally print such an announcement, your work based on +// the Program is not required to print an announcement.) +// +// These requirements apply to the modified work as a whole. If +// identifiable sections of that work are not derived from the Program, +// and can be reasonably considered independent and separate works in +// themselves, then this License, and its terms, do not apply to those +// sections when you distribute them as separate works. But when you +// distribute the same sections as part of a whole which is a work based +// on the Program, the distribution of the whole must be on the terms of +// this License, whose permissions for other licensees extend to the +// entire whole, and thus to each and every part regardless of who wrote it. +// +// Thus, it is not the intent of this section to claim rights or contest +// your rights to work written entirely by you; rather, the intent is to +// exercise the right to control the distribution of derivative or +// collective works based on the Program. +// +// In addition, mere aggregation of another work not based on the Program +// with the Program (or with a work based on the Program) on a volume of +// a storage or distribution medium does not bring the other work under +// the scope of this License. +// +// 3. You may copy and distribute the Program (or a work based on it, +// under Section 2) in object code or executable form under the terms of +// Sections 1 and 2 above provided that you also do one of the following: +// +// a) Accompany it with the complete corresponding machine-readable +// source code, which must be distributed under the terms of Sections +// 1 and 2 above on a medium customarily used for software interchange; or, +// +// b) Accompany it with a written offer, valid for at least three +// years, to give any third party, for a charge no more than your +// cost of physically performing source distribution, a complete +// machine-readable copy of the corresponding source code, to be +// distributed under the terms of Sections 1 and 2 above on a medium +// customarily used for software interchange; or, +// +// c) Accompany it with the information you received as to the offer +// to distribute corresponding source code. (This alternative is +// allowed only for noncommercial distribution and only if you +// received the program in object code or executable form with such +// an offer, in accord with Subsection b above.) +// +// The source code for a work means the preferred form of the work for +// making modifications to it. For an executable work, complete source +// code means all the source code for all modules it contains, plus any +// associated interface definition files, plus the scripts used to +// control compilation and installation of the executable. However, as a +// special exception, the source code distributed need not include +// anything that is normally distributed (in either source or binary +// form) with the major components (compiler, kernel, and so on) of the +// operating system on which the executable runs, unless that component +// itself accompanies the executable. +// +// If distribution of executable or object code is made by offering +// access to copy from a designated place, then offering equivalent +// access to copy the source code from the same place counts as +// distribution of the source code, even though third parties are not +// compelled to copy the source along with the object code. +// +// 4. You may not copy, modify, sublicense, or distribute the Program +// except as expressly provided under this License. Any attempt +// otherwise to copy, modify, sublicense or distribute the Program is +// void, and will automatically terminate your rights under this License. +// However, parties who have received copies, or rights, from you under +// this License will not have their licenses terminated so long as such +// parties remain in full compliance. +// +// 5. You are not required to accept this License, since you have not +// signed it. However, nothing else grants you permission to modify or +// distribute the Program or its derivative works. These actions are +// prohibited by law if you do not accept this License. Therefore, by +// modifying or distributing the Program (or any work based on the +// Program), you indicate your acceptance of this License to do so, and +// all its terms and conditions for copying, distributing or modifying +// the Program or works based on it. +// +// 6. Each time you redistribute the Program (or any work based on the +// Program), the recipient automatically receives a license from the +// original licensor to copy, distribute or modify the Program subject to +// these terms and conditions. You may not impose any further +// restrictions on the recipients' exercise of the rights granted herein. +// You are not responsible for enforcing compliance by third parties to +// this License. +// +// 7. If, as a consequence of a court judgment or allegation of patent +// infringement or for any other reason (not limited to patent issues), +// conditions are imposed on you (whether by court order, agreement or +// otherwise) that contradict the conditions of this License, they do not +// excuse you from the conditions of this License. If you cannot +// distribute so as to satisfy simultaneously your obligations under this +// License and any other pertinent obligations, then as a consequence you +// may not distribute the Program at all. For example, if a patent +// license would not permit royalty-free redistribution of the Program by +// all those who receive copies directly or indirectly through you, then +// the only way you could satisfy both it and this License would be to +// refrain entirely from distribution of the Program. +// +// If any portion of this section is held invalid or unenforceable under +// any particular circumstance, the balance of the section is intended to +// apply and the section as a whole is intended to apply in other +// circumstances. +// +// It is not the purpose of this section to induce you to infringe any +// patents or other property right claims or to contest validity of any +// such claims; this section has the sole purpose of protecting the +// integrity of the free software distribution system, which is +// implemented by public license practices. Many people have made +// generous contributions to the wide range of software distributed +// through that system in reliance on consistent application of that +// system; it is up to the author/donor to decide if he or she is willing +// to distribute software through any other system and a licensee cannot +// impose that choice. +// +// This section is intended to make thoroughly clear what is believed to +// be a consequence of the rest of this License. +// +// 8. If the distribution and/or use of the Program is restricted in +// certain countries either by patents or by copyrighted interfaces, the +// original copyright holder who places the Program under this License +// may add an explicit geographical distribution limitation excluding +// those countries, so that distribution is permitted only in or among +// countries not thus excluded. In such case, this License incorporates +// the limitation as if written in the body of this License. +// +// 9. The Free Software Foundation may publish revised and/or new versions +// of the General Public License from time to time. Such new versions will +// be similar in spirit to the present version, but may differ in detail to +// address new problems or concerns. +// +// Each version is given a distinguishing version number. If the Program +// specifies a version number of this License which applies to it and "any +// later version", you have the option of following the terms and conditions +// either of that version or of any later version published by the Free +// Software Foundation. If the Program does not specify a version number of +// this License, you may choose any version ever published by the Free Software +// Foundation. +// +// 10. If you wish to incorporate parts of the Program into other free +// programs whose distribution conditions are different, write to the author +// to ask for permission. For software which is copyrighted by the Free +// Software Foundation, write to the Free Software Foundation; we sometimes +// make exceptions for this. Our decision will be guided by the two goals +// of preserving the free status of all derivatives of our free software and +// of promoting the sharing and reuse of software generally. +// +// NO WARRANTY +// +// 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +// FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +// OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +// PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +// OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +// TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +// PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +// REPAIR OR CORRECTION. +// +// 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +// WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +// REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +// INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +// OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +// TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +// YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +// PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGES. +// +// END OF TERMS AND CONDITIONS +// +// How to Apply These Terms to Your New Programs +// +// If you develop a new program, and you want it to be of the greatest +// possible use to the public, the best way to achieve this is to make it +// free software which everyone can redistribute and change under these terms. +// +// To do so, attach the following notices to the program. It is safest +// to attach them to the start of each source file to most effectively +// convey the exclusion of warranty; and each file should have at least +// the "copyright" line and a pointer to where the full notice is found. +// +// +// Copyright (C) +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// Also add information on how to contact you by electronic and paper mail. +// +// If the program is interactive, make it output a short notice like this +// when it starts in an interactive mode: +// +// Gnomovision version 69, Copyright (C) year name of author +// Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. +// This is free software, and you are welcome to redistribute it +// under certain conditions; type `show c' for details. +// +// The hypothetical commands `show w' and `show c' should show the appropriate +// parts of the General Public License. Of course, the commands you use may +// be called something other than `show w' and `show c'; they could even be +// mouse-clicks or menu items--whatever suits your program. +// +// You should also get your employer (if you work as a programmer) or your +// school, if any, to sign a "copyright disclaimer" for the program, if +// necessary. Here is a sample; alter the names: +// +// Yoyodyne, Inc., hereby disclaims all copyright interest in the program +// `Gnomovision' (which makes passes at compilers) written by James Hacker. +// +// , 1 April 1989 +// Ty Coon, President of Vice +// +// This General Public License does not permit incorporating your program into +// proprietary programs. If your program is a subroutine library, you may +// consider it more useful to permit linking proprietary applications with the +// library. If this is what you want to do, use the GNU Lesser General +// Public License instead of this License. + +package UAE + +/* Error codes */ +const UAEPERM = 0x2f6df00; /* Operation not permitted */ +const UAENOENT = 0x2f6df01; /* No such file or directory */ +const UAESRCH = 0x2f6df02; /* No such process */ +const UAEINTR = 0x2f6df03; /* Interrupted system call */ +const UAEIO = 0x2f6df04; /* I/O error */ +const UAENXIO = 0x2f6df05; /* No such device or address */ +const UAE2BIG = 0x2f6df06; /* Arg list too long */ +const UAENOEXEC = 0x2f6df07; /* Exec format error */ +const UAEBADF = 0x2f6df08; /* Bad file number */ +const UAECHILD = 0x2f6df09; /* No child processes */ +const UAEAGAIN = 0x2f6df0a; /* Try again */ +const UAENOMEM = 0x2f6df0b; /* Out of memory */ +const UAEACCES = 0x2f6df0c; /* Permission denied */ +const UAEFAULT = 0x2f6df0d; /* Bad address */ +const UAENOTBLK = 0x2f6df0e; /* Block device required */ +const UAEBUSY = 0x2f6df0f; /* Device or resource busy */ +const UAEEXIST = 0x2f6df10; /* File exists */ +const UAEXDEV = 0x2f6df11; /* Cross-device link */ +const UAENODEV = 0x2f6df12; /* No such device */ +const UAENOTDIR = 0x2f6df13; /* Not a directory */ +const UAEISDIR = 0x2f6df14; /* Is a directory */ +const UAEINVAL = 0x2f6df15; /* Invalid argument */ +const UAENFILE = 0x2f6df16; /* File table overflow */ +const UAEMFILE = 0x2f6df17; /* Too many open files */ +const UAENOTTY = 0x2f6df18; /* Not a typewriter */ +const UAETXTBSY = 0x2f6df19; /* Text file busy */ +const UAEFBIG = 0x2f6df1a; /* File too large */ +const UAENOSPC = 0x2f6df1b; /* No space left on device */ +const UAESPIPE = 0x2f6df1c; /* Illegal seek */ +const UAEROFS = 0x2f6df1d; /* Read-only file system */ +const UAEMLINK = 0x2f6df1e; /* Too many links */ +const UAEPIPE = 0x2f6df1f; /* Broken pipe */ +const UAEDOM = 0x2f6df20; /* Math argument out of domain of func */ +const UAERANGE = 0x2f6df21; /* Math result not representable */ +const UAEDEADLK = 0x2f6df22; /* Resource deadlock would occur */ +const UAENAMETOOLONG = 0x2f6df23; /* File name too long */ +const UAENOLCK = 0x2f6df24; /* No record locks available */ +const UAENOSYS = 0x2f6df25; /* Function not implemented */ +const UAENOTEMPTY = 0x2f6df26; /* Directory not empty */ +const UAELOOP = 0x2f6df27; /* Too many symbolic links encountered */ +const UAEWOULDBLOCK = 0x2f6df28; /* Operation would block */ +const UAENOMSG = 0x2f6df29; /* No message of desired type */ +const UAEIDRM = 0x2f6df2a; /* Identifier removed */ +const UAECHRNG = 0x2f6df2b; /* Channel number out of range */ +const UAEL2NSYNC = 0x2f6df2c; /* Level 2 not synchronized */ +const UAEL3HLT = 0x2f6df2d; /* Level 3 halted */ +const UAEL3RST = 0x2f6df2e; /* Level 3 reset */ +const UAELNRNG = 0x2f6df2f; /* Link number out of range */ +const UAEUNATCH = 0x2f6df30; /* Protocol driver not attached */ +const UAENOCSI = 0x2f6df31; /* No CSI structure available */ +const UAEL2HLT = 0x2f6df32; /* Level 2 halted */ +const UAEBADE = 0x2f6df33; /* Invalid exchange */ +const UAEBADR = 0x2f6df34; /* Invalid request descriptor */ +const UAEXFULL = 0x2f6df35; /* Exchange full */ +const UAENOANO = 0x2f6df36; /* No anode */ +const UAEBADRQC = 0x2f6df37; /* Invalid request code */ +const UAEBADSLT = 0x2f6df38; /* Invalid slot */ +const UAEBFONT = 0x2f6df39; /* Bad font file format */ +const UAENOSTR = 0x2f6df3a; /* Device not a stream */ +const UAENODATA = 0x2f6df3b; /* No data available */ +const UAETIME = 0x2f6df3c; /* Timer expired */ +const UAENOSR = 0x2f6df3d; /* Out of streams resources */ +const UAENONET = 0x2f6df3e; /* Machine is not on the network */ +const UAENOPKG = 0x2f6df3f; /* Package not installed */ +const UAEREMOTE = 0x2f6df40; /* Object is remote */ +const UAENOLINK = 0x2f6df41; /* Link has been severed */ +const UAEADV = 0x2f6df42; /* Advertise error */ +const UAESRMNT = 0x2f6df43; /* Srmount error */ +const UAECOMM = 0x2f6df44; /* Communication error on send */ +const UAEPROTO = 0x2f6df45; /* Protocol error */ +const UAEMULTIHOP = 0x2f6df46; /* Multihop attempted */ +const UAEDOTDOT = 0x2f6df47; /* RFS specific error */ +const UAEBADMSG = 0x2f6df48; /* Not a data message */ +const UAEOVERFLOW = 0x2f6df49; /* Value too large for defined data type */ +const UAENOTUNIQ = 0x2f6df4a; /* Name not unique on network */ +const UAEBADFD = 0x2f6df4b; /* File descriptor in bad state */ +const UAEREMCHG = 0x2f6df4c; /* Remote address changed */ +const UAELIBACC = 0x2f6df4d; /* Can not access a needed shared library */ +const UAELIBBAD = 0x2f6df4e; /* Accessing a corrupted shared library */ +const UAELIBSCN = 0x2f6df4f; /* .lib section in a.out corrupted */ +const UAELIBMAX = 0x2f6df50; /* Attempting to link in too many shared libraries */ +const UAELIBEXEC = 0x2f6df51; /* Cannot exec a shared library directly */ +const UAEILSEQ = 0x2f6df52; /* Illegal byte sequence */ +const UAERESTART = 0x2f6df53; /* Interrupted system call should be restarted */ +const UAESTRPIPE = 0x2f6df54; /* Streams pipe error */ +const UAEUSERS = 0x2f6df55; /* Too many users */ +const UAENOTSOCK = 0x2f6df56; /* Socket operation on non-socket */ +const UAEDESTADDRREQ = 0x2f6df57; /* Destination address required */ +const UAEMSGSIZE = 0x2f6df58; /* Message too long */ +const UAEPROTOTYPE = 0x2f6df59; /* Protocol wrong type for socket */ +const UAENOPROTOOPT = 0x2f6df5a; /* Protocol not available */ +const UAEPROTONOSUPPORT = 0x2f6df5b; /* Protocol not supported */ +const UAESOCKTNOSUPPORT = 0x2f6df5c; /* Socket type not supported */ +const UAEOPNOTSUPP = 0x2f6df5d; /* Operation not supported on transport endpoint */ +const UAEPFNOSUPPORT = 0x2f6df5e; /* Protocol family not supported */ +const UAEAFNOSUPPORT = 0x2f6df5f; /* Address family not supported by protocol */ +const UAEADDRINUSE = 0x2f6df60; /* Address already in use */ +const UAEADDRNOTAVAIL = 0x2f6df61; /* Cannot assign requested address */ +const UAENETDOWN = 0x2f6df62; /* Network is down */ +const UAENETUNREACH = 0x2f6df63; /* Network is unreachable */ +const UAENETRESET = 0x2f6df64; /* Network dropped connection because of reset */ +const UAECONNABORTED = 0x2f6df65; /* Software caused connection abort */ +const UAECONNRESET = 0x2f6df66; /* Connection reset by peer */ +const UAENOBUFS = 0x2f6df67; /* No buffer space available */ +const UAEISCONN = 0x2f6df68; /* Transport endpoint is already connected */ +const UAENOTCONN = 0x2f6df69; /* Transport endpoint is not connected */ +const UAESHUTDOWN = 0x2f6df6a; /* Cannot send after transport endpoint shutdown */ +const UAETOOMANYREFS = 0x2f6df6b; /* Too many references: cannot splice */ +const UAETIMEDOUT = 0x2f6df6c; /* Connection timed out */ +const UAECONNREFUSED = 0x2f6df6d; /* Connection refused */ +const UAEHOSTDOWN = 0x2f6df6e; /* Host is down */ +const UAEHOSTUNREACH = 0x2f6df6f; /* No route to host */ +const UAEALREADY = 0x2f6df70; /* Operation already in progress */ +const UAEINPROGRESS = 0x2f6df71; /* Operation now in progress */ +const UAESTALE = 0x2f6df72; /* Stale NFS file handle */ +const UAEUCLEAN = 0x2f6df73; /* Structure needs cleaning */ +const UAENOTNAM = 0x2f6df74; /* Not a XENIX named type file */ +const UAENAVAIL = 0x2f6df75; /* No XENIX semaphores available */ +const UAEISNAM = 0x2f6df76; /* Is a named type file */ +const UAEREMOTEIO = 0x2f6df77; /* Remote I/O error */ +const UAEDQUOT = 0x2f6df78; /* Quota exceeded */ +const UAENOMEDIUM = 0x2f6df79; /* No medium found */ +const UAEMEDIUMTYPE = 0x2f6df7a; /* Wrong medium type */ -- 2.49.0