[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-671808-105":3,"detail-sidebar-cat-0-en-105":80,"doc-detail-671808-en":130},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":73,"head_meta":75,"extra_data":77,"updated_unix":79},105,"en","the-linux-programmers-guide-version-04-march-1995","The Linux Programmer’s Guide - Version 0.4 - March 1995","","The Linux Programmer’s Guide (version 0.4, March 1995) provides an organized reference for Linux and Unix programming. It covers the operating system and kernel, the Linux libc package, and system calls including ioctl, process and terminal concepts, and low-level interactions. The guide explains interprocess communication through pipes and UNIX IPC, then extends to sound programming, character-cell graphics via libc/ncurses/termcap/terminfo, and practical topics like programming I/O ports and porting applications to Linux.",{"@graph":14,"@context":72},[15,34,55],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/document/","Document",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/document/technology/","Technology",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/document/the-linux-programmers-guide-version-04-march-1995/671808/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/the-linux-programmers-guide-version-04-march-1995/671808.png","ImageObject",300,407,{"name":42,"@type":43},"kopisore","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-11-04","2026-11-02",true,{"@type":52,"interactionType":53,"userInteractionCount":26},"InteractionCounter",{"@type":54},"ViewAction",{"@type":56,"mainEntity":57},"FAQPage",[58,64,68],{"name":59,"@type":60,"acceptedAnswer":61},"What does the guide cover under Linux Interprocess Communications?","Question",{"text":62,"@type":63},"It covers pipes (including half-duplex concepts), named pipes (FIFOs), SIGPIPE, and System V IPC including message queues, semaphores, and shared memory.","Answer",{"name":65,"@type":60,"acceptedAnswer":66},"Which sections explain terminal and character-cell graphics programming?",{"text":67,"@type":63},"It includes Character Cell Graphics topics such as libc I/O, the termcap library, ncurses introduction, window initialization and output, input handling, and terminal capabilities.",{"name":69,"@type":60,"acceptedAnswer":70},"How does the guide help programmers when moving applications to Linux?",{"text":71,"@type":63},"It provides a dedicated section on porting applications to Linux, including signal handling details, process information and control, and portable conditional compilation.","https://schema.org",{"og:url":32,"og:type":74,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":76,"canonical":32},"index,follow",{"doc_id":78,"site_id":7},671808,1793580874,{"code":4,"msg":81,"data":82},"success",[83,87,91,95,100,104,109,114,119,122,126],{"id":22,"doc_module":4,"doc_module_name":25,"category_name":84,"show_sort_weight":85,"slug":86},"Story & Novel",90,"story-novel",{"id":26,"doc_module":4,"doc_module_name":25,"category_name":88,"show_sort_weight":89,"slug":90},"Literature",80,"literature",{"id":33,"doc_module":4,"doc_module_name":25,"category_name":92,"show_sort_weight":93,"slug":94},"Exam",70,"exam",{"id":96,"doc_module":4,"doc_module_name":25,"category_name":97,"show_sort_weight":98,"slug":99},5,"Comic",60,"comic",{"id":101,"doc_module":4,"doc_module_name":25,"category_name":29,"show_sort_weight":102,"slug":103},6,50,"technology",{"id":105,"doc_module":4,"doc_module_name":25,"category_name":106,"show_sort_weight":107,"slug":108},7,"Healthcare",40,"healthcare",{"id":110,"doc_module":4,"doc_module_name":25,"category_name":111,"show_sort_weight":112,"slug":113},8,"Research & Report",30,"research-report",{"id":115,"doc_module":4,"doc_module_name":25,"category_name":116,"show_sort_weight":117,"slug":118},9,"Religion & Spirituality",20,"religion-spirituality",{"id":117,"doc_module":4,"doc_module_name":25,"category_name":120,"show_sort_weight":117,"slug":121},"World Cup","world-cup",{"id":123,"doc_module":4,"doc_module_name":25,"category_name":124,"show_sort_weight":123,"slug":125},10,"Lifestyle","lifestyle",{"id":127,"doc_module":4,"doc_module_name":25,"category_name":128,"show_sort_weight":96,"slug":129},19,"General","general",{"code":4,"msg":81,"data":131},{"doc_id":78,"user_id":132,"nickname":42,"user_avatar":133,"doc_module":4,"category_id":101,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":26,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":139,"language":140,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":12,"update_tm":79,"read_time":144},962090880963,"https://ap-avatar.wpscdn.com/davatar_6f874abed73319feea01a86fa6f0fab8","The Linux Programmer’s Guide  \nSven Goldt  \nSven van der Meer  \nScott Burkett  \nMatt Welsh  \nVersion 0.4  \nMarch 1995  \n0 ...Our continuing mission: to seek out knowledge ofC, to explore strange unix commands, and to boldly code where no one has man page 4 .  \n2  \nContents  \n1 The Linux operating system 7  \n2 The Linux kernel 9  \n3 The Linux libc package 11  \n4 System calls 13  \n5 The “swiss army knife” ioctl 15  \n6 Linux Interprocess Communications 17  \n6.1 Introduction .................................. 17  \n6.2 Half-duplex UNIX Pipes ........................... 17  \n6.2.1 Basic Concepts ............................ 17  \n6.2.2 Creating Pipes in C .......................... 19  \n6.2.3 Pipes the Easy Way! ......................... 23  \n6.2.4 Atomic Operations with Pipes .................... 27  \n6.2.5 Notes on half-duplex pipes: ..................... 27  \n6.3 Named Pipes (FIFOs-First In First Out) ................... 27  \n6.3.1 Basic Concepts ............................ 27  \n6.3.2 Creating a FIFO ........................... 27  \n6.3.3 FIFO Operations ........................... 28  \n6.3.4 Blocking Actions on a FIFO ..................... 30  \n6.3.5 The Infamous SIGPIPE Signal .................... 30  \n6.4 System V IPC ................................. 30  \n6.4.1 Fundamental Concepts ........................ 30  \n6.4.2 Message Queues ........................... 32  \n6.4.3 Semaphores .............................. 46  \n6.4.4 Shared Memory ............................ 62  \n7 Sound Programming 69  \n7.1 Programming the internal speaker ...................... 69  \n7.2 Programming a sound card .......................... 69  \n8 Character Cell Graphics 71  \n8. 1 I/O Function in libc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72  \n8.1.1 Formatted Output ........................... 72  \n8.1.2 Formatted Input ............................ 73  \n8.2 The Termcap Library ............................. 74  \n8.2.1 Introduction .............................. 74  \n8.2.2 Find a Terminal Description ..................... 75  \n8.2.3 Look at a Terminal Description ................... 75  \n8.2.4 Termcap Capabilities ......................... 76  \n4 CONTENTS  \n8.3 Ncurses-Introduction ............................ 80  \n8.4 Initializing ................................... 82  \n8.5 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82  \n8.6 Output ..................................... 85  \n8.6.1 Formatted Output ........................... 86  \n8.6.2 Insert Characters/Lines . . . . . . . . . . . . . . . . . . . . . . . . 86  \n8.6.3 Delete Characters/Lines . . . . . . . . . . . . . . . . . . . . . . . 86  \n8.6.4 Boxes and Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . 87  \n8.6.5 Background Character ........................ 88  \n8.7 Input ...................................... 88  \n8.7.1 Formated Input ............................ 89  \n8.8 Options .................................... 89  \n8.8.1 Input Options ............................. 90  \n8.8.2 Terminal Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . 91  \n8.8.3 Use Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92  \n8.9 Clear Window and Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . 93  \n8.10 Updating the Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94  \n8. 11 Video Attributes and Color . . . . . . . . . . . . . . . . . . . . . . . . . . 95  \n8. 12 Cursor and Window Coordinates . . . . . . . . . . . . . . . . . . . . . . . 98  \n8.13 Scrolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99  \n8. 14 Pads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100  \n8. 15 Soft-labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101  \n8. 16 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101  \n8. 17 Low-level Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102  ","cbCaibvTMx0jQgwT","https://ap.wps.com/l/cbCaibvTMx0jQgwT","pdf",492691,131,"English","# Contents\n## The Linux operating system\n## The Linux kernel\n## The Linux libc package\n## System calls\n## The “swiss army knife” ioctl\n## Linux Interprocess Communications\n## Sound Programming\n## Character Cell Graphics\n## Programming I/O ports\n## Porting Applications to Linux\n## Systemcalls in alphabetical order\n## Abbreviations","[{\"question\":\"What does the guide cover under Linux Interprocess Communications?\",\"answer\":\"It covers pipes (including half-duplex concepts), named pipes (FIFOs), SIGPIPE, and System V IPC including message queues, semaphores, and shared memory.\"},{\"question\":\"Which sections explain terminal and character-cell graphics programming?\",\"answer\":\"It includes Character Cell Graphics topics such as libc I/O, the termcap library, ncurses introduction, window initialization and output, input handling, and terminal capabilities.\"},{\"question\":\"How does the guide help programmers when moving applications to Linux?\",\"answer\":\"It provides a dedicated section on porting applications to Linux, including signal handling details, process information and control, and portable conditional compilation.\"}]","The Linux Programmer’s Guide - Version 0.4 - March 1995 | PDF",330]