Ця стаття є сирим з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (серпень 2018) |
В обчисленні, "Not a typewriter" або ENOTTY є кодом помилки, він визначається в errno.h, заголовному файлі стандартної бібліотеки мови програмування C, який міститься на багатьох системах Unix. Цей код в даний час використовується, щоб вказати, що номер (керування (вводом-виводом), англ. input/output control), що був вказаний в системному виклику ioctl, - недійсний.
Деталі
Системний виклик ioctl спочатку підтримувався тільки на термінальних пристроях, також відомих як телетайп; з цієї причини, назва помилки була скорочена як ENOTTY.
"Typewriter" - це термінал, як його називали ранні системи UNIX. Використання цього значення повертається до першого видання (англ. The Unix Programmer's Manual), від 3 листопада 1971 року. Наприклад, опис команди "hup" був таким: "hup вішає трубку на машинці, яка використовує його." Скорочення TTY, яке набуло значного поширення навіть в сучасних системах UNIX, виступало за "Teletype". Загальний термін "typewriter", ймовірно, використовувався, тому що "Teletype" був зареєстрований, як товарний знак компанії — дочірньої компанії і мав занадто специфічний характер. Назву "Teletype" було отримано з більш загального терміна - "teletypewriter"; використання "typewriter" було іншим скороченням того ж початкового терміну.
Оскільки ioctl тепер підтримувався на інших пристроях, крім терміналів, деякі системи відображають натомість інше повідомлення, таке як "невідповідний для пристрою".
Прояви
У деяких випадках, це повідомлення буде траплятися навіть при відсутності системного виклику. Це пов'язано з порядком роботи бібліотеки isatty (). Натомість код помилки ERRNO встановлюється тільки при виході з ладу цього системного виклику. Один з перших системних викликів, зроблених за I / O стандартом бібліотеки C знаходиться в виклику isatty (), що використовується для визначення, чи програма була запущена в інтерактивному режимі за участі людини (в цьому випадку виклик isatty () буде успішним, тому користувач бачитиме регулярний потік тексту) чи як частина комунікаційної лінії. Якщо порядок бібліотеки виходить з ладу з якихось причин, не пов'язаних з системним викликом (наприклад, тому що ім'я користувача не знайдено у файлі паролів) і наївний програміст наосліп викликає стандартну процедуру подання звітності perror() на кожній невдачі, то та ENOTTY, що залишилася, призведе до абсолютно недоречного коду помилки "Not a typewriter", який доставляється користувачеві.
Протягом багатьох років поштова програма Sendmail містила цю помилку: коли пошта була доставлена з іншої системи, поштова програма в той час не запускалась інтерактивно. Якщо адреса одержувача був місцевою, але посилалася на ім'я користувача, якого не знайдено в локальному файлі паролів, повідомлення, що відправлялось назад відправнику листа, ставало заявою про те, що людина, з якою він намагався спілкуватися не була "тайпврайтером".
Див. також
Посилання
- A/UX: mail and "not a typewriter" [ 30 червня 2016 у Wayback Machine.] (2/95)article TA31349 on support.apple.com (February 27, 1995)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ye sirim perekladom z inshoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad serpen 2018 V obchislenni Not a typewriter abo ENOTTY ye kodom pomilki vin viznachayetsya v errno h zagolovnomu fajli standartnoyi biblioteki movi programuvannya C yakij mistitsya na bagatoh sistemah Unix Cej kod v danij chas vikoristovuyetsya shob vkazati sho nomer keruvannya vvodom vivodom angl input output control sho buv vkazanij v sistemnomu vikliku ioctl nedijsnij Not a Typewriter kod pomilki v Linux DetaliSistemnij viklik ioctl spochatku pidtrimuvavsya tilki na terminalnih pristroyah takozh vidomih yak teletajp z ciyeyi prichini nazva pomilki bula skorochena yak ENOTTY Typewriter ce terminal yak jogo nazivali ranni sistemi UNIX Vikoristannya cogo znachennya povertayetsya do pershogo vidannya angl The Unix Programmer s Manual vid 3 listopada 1971 roku Napriklad opis komandi hup buv takim hup vishaye trubku na mashinci yaka vikoristovuye jogo Skorochennya TTY yake nabulo znachnogo poshirennya navit v suchasnih sistemah UNIX vistupalo za Teletype Zagalnij termin typewriter jmovirno vikoristovuvavsya tomu sho Teletype buv zareyestrovanij yak tovarnij znak kompaniyi AT amp T dochirnoyi kompaniyi i mav zanadto specifichnij harakter Nazvu Teletype bulo otrimano z bilsh zagalnogo termina teletypewriter vikoristannya typewriter bulo inshim skorochennyam togo zh pochatkovogo terminu Oskilki ioctl teper pidtrimuvavsya na inshih pristroyah krim terminaliv deyaki sistemi vidobrazhayut natomist inshe povidomlennya take yak nevidpovidnij dlya pristroyu ProyaviU deyakih vipadkah ce povidomlennya bude traplyatisya navit pri vidsutnosti sistemnogo vikliku Ce pov yazano z poryadkom roboti biblioteki isatty Natomist kod pomilki ERRNO vstanovlyuyetsya tilki pri vihodi z ladu cogo sistemnogo vikliku Odin z pershih sistemnih viklikiv zroblenih za I O standartom biblioteki C znahoditsya v vikliku isatty sho vikoristovuyetsya dlya viznachennya chi programa bula zapushena v interaktivnomu rezhimi za uchasti lyudini v comu vipadku viklik isatty bude uspishnim tomu koristuvach bachitime regulyarnij potik tekstu chi yak chastina komunikacijnoyi liniyi Yaksho poryadok biblioteki vihodit z ladu z yakihos prichin ne pov yazanih z sistemnim viklikom napriklad tomu sho im ya koristuvacha ne znajdeno u fajli paroliv i nayivnij programist naoslip viklikaye standartnu proceduru podannya zvitnosti perror na kozhnij nevdachi to ta ENOTTY sho zalishilasya prizvede do absolyutno nedorechnogo kodu pomilki Not a typewriter yakij dostavlyayetsya koristuvachevi Protyagom bagatoh rokiv poshtova programa Sendmail mistila cyu pomilku koli poshta bula dostavlena z inshoyi sistemi poshtova programa v toj chas ne zapuskalas interaktivno Yaksho adresa oderzhuvacha buv miscevoyu ale posilalasya na im ya koristuvacha yakogo ne znajdeno v lokalnomu fajli paroliv povidomlennya sho vidpravlyalos nazad vidpravniku lista stavalo zayavoyu pro te sho lyudina z yakoyu vin namagavsya spilkuvatisya ne bula tajpvrajterom Div takozhPosilannyaA UX mail and not a typewriter 30 chervnya 2016 u Wayback Machine 2 95 article TA31349 on support apple com February 27 1995