Читаем Разработка приложений в среде Linux. Второе издание полностью

E2BIGСписок аргументов слишком длинный. При запуске нового процесса с помощью exec() существует ограничение на длину задаваемого списка аргументов. См. главу 10.
EACCESSВ доступе будет отказано. Эта ошибка возвращается системным вызовом access(), рассматриваемым в главе 11, и представляет собой более информативный код возврата, чем само состояние ошибки.
EAGAINВозвращается при попытке выполнения неблокируемого ввода-вывода, если нет доступных данных. EWOULDBLOCK является синонимом EAGAIN. При блокируемом вводе-выводе системный вызов установил бы блокировку и ожидал бы данных.
EBADFНеправильный номер файла. Был передан номер файла, не ссылающийся на открытый файл, в функцию read(), close(), ioctl() или другой системный вызов, принимающий номер файла в качестве аргумента.
EBUSYСистемный вызов mount() возвращает эту ошибку при попытке смонтировать файловую систему, которая уже смонтирована, или размонтировать файловую систему, которая в настоящий момент используется.
ECHILDДочерние процессы отсутствуют. Возвращается семейством системных вызовов wait(). См. главу 10.
EDOMЭто ошибка не системного вызова, а ошибка из библиотеки С системы. EDOM устанавливается математическими функциями, если аргумент выходит за пределы допустимого диапазона. (Это EINVAL для области функции.) Например, функция sqrt() не работает с комплексными числами и потому не принимает отрицательные аргументы.
EEXISTВозвращается creat(), mknod() или mkdir(), если файл уже существует, или функцией open() в том же случае, если указаны флаги O_CREAT и O_EXCL.
EFAULTНеверный указатель (указывающий на недоступную область памяти) был передан в качестве аргумента системному вызову. Обращение по этому указателю из пользовательской программы, которая произвела системный вызов, приведет к ошибке сегментации.
EFBIGВозвращается write() при попытке записи файла, который длиннее, чем может логически обработать файловая система (физические ограничения пространства во внимание не принимаются).
EINTRСистемный вызов был прерван. Прерываемые системные вызовы рассматриваются в главе 12.
EINVALВозвращается, если системный вызов получил недопустимый аргумент.
EIOОшибка ввода-вывода. Обычно генерируется драйвером устройства для обозначения ошибки в оборудовании или неисправимой ошибку взаимодействия с устройством.
EISDIRВозвращается системными вызовами, требующими имя файла, например unlink(), если последний компонент в имени пути является каталогом, а не файлом, а данная операция не может быть применена к каталогу.
ELOOPВозвращается системными вызовами, которые принимают путь, если при разборе пути встречается слишком много символических ссылок в строке (то есть символические ссылки, указывающие на символические ссылки, которые, в свою очередь, указывают на символические ссылки и так далее). Текущее ограничение — 16 символических ссылок на строку.
EMFILEВозвращается, если для вызываемого процесса нельзя открыть больше файлов.
EMLINKВозвращается link(), если в компонуемом файле уже содержится максимальное количество ссылок для файловой системы (в стандартной файловой системе Linux этот максимум составляет 32 000).
ENAMETOOLONGИмя пути слишком длинное либо для системы, либо для файловой системы, к которой вы пытаетесь получить доступ.
ENFILEВозвращается, если ни один процесс системы не может открыть больше ни одного файла.
ENODEVВозвращается mount(), если запрошенный тип файловой системы не доступен. Возвращается open() при попытке открыть специальный файл для устройства, для которого нет ассоциированного драйвера в ядре.
ENOENTФайл или каталог не существует. Возвращается при попытке получить доступ к несуществующему файлу или каталогу.
ENOEXECОшибка исполняемого формата. Может появиться при попытке запустить (устаревший) а.out в системе, в которой отсутствует поддержка бинарных файлов а.out. Может также встречаться при попытке запуска бинарного файла формата ELF, собранного для другой архитектуры центрального процессора.
ENOMEMНе хватает памяти. Возвращается функциями brk() и mmap() при неудачной попытке распределения памяти.
ENOSPCВозвращается write() при попытке записать файл длиннее, чем объем свободного пространства в файловой системе.
NOSYSСистемный вызов не реализован. Обычно происходит при запуске нового исполняемого файла на старом ядре, которое не поддерживает системный вызов.
ENOTBLKСистемный вызов mount() возвращает эту ошибку при попытке смонтировать в качестве файловой системы файл, не являющийся специальным файлом блочного устройства.
ENOTDIRПромежуточный компонент пути существует, но не является каталогом. Возвращается любым системным вызовом, принимающим имя файла.
ENOTEMPTYВозвращается rmdir(), если удаляемый каталог не пуст.
ENOTTYОбычно встречается, когда приложение, которое пытается обратиться к терминалу, запущено с перенаправлением ввода или вывода в канал. Но также может встречаться при попытке совершить операцию ввода-вывода на неправильном типе устройства. Стандартное сообщение об ошибке в этом случае, "not a typewriter", может сбить с толку.
ENXIOНет такого устройства или адреса. Обычно генерируется при попытке открыть специальный файл устройства, который ассоциируется с частью не установленного или не настроенного оборудования.
EPERMУ процесса недостаточно полномочий для завершения операции. Эта ошибка обычно встречается в файловых операциях. См. главу 11.
EPIPEВозвращается write(), если читающая сторона канала или сокета закрыта и захвачен или проигнорирован сигнал SIGPIPE. См. главу 12.
ERANGEНе являясь ошибкой системного вызова, ERANGE устанавливается математическими функциями, если результат невозможно представить возвращаемым типом. Эта ошибка может также возникать в других функциях, если им передается слишком короткий буфер для возвращаемой строки. (Для диапазона этой ошибке соответствует EINVAL.)
EROFSВозвращается write() при попытке записать в файловую систему, доступную только для чтения.
ESPIPEВозвращается lseek() при навигации по файлу, дескриптор которого не поддерживает навигацию (включая файловые дескрипторы для каналов, именованных каналов и сокетов). См. главы 11 и 17.
ESRCHНет такого процесса. См. главу 10.
ETXTBSYВозвращается open() при попытке открыть на запись запущенный исполняемый файл или совместно используемую библиотеку или любой другой файл, отображенный на память с установленным флажком MAP_DENYWRITE (см. главу 13). Чтобы избежать такого поведения, необходимо переименовать файл, сделать новую копию с таким же именем, как у старого файла, и работать с этой новой копией. См. главу 11 с обсуждением того, почему так происходит.
EXDEVВозвращается link(), если исходные и целевые файлы находятся в разных файловых системах.
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных