Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6475449
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T06:42:22+00:00 2026-05-25T06:42:22+00:00

I am developing a device driver I/O model for small microcontroller applications, using POSIX

  • 0

I am developing a device driver I/O model for small microcontroller applications, using POSIX as a guideline for interface design. I implemented ioctl() as a means of controlling driver/hardware parameters – for example UART baud rate, I2C slave address, etc.

I notice, that POSIX:2008 lists ioctl() and <stropts.h> as obsolescent. What is the recommended alternative mechanism for communicating with a device driver?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T06:42:22+00:00Added an answer on May 25, 2026 at 6:42 am

    POSIX only defines a very limited subset of ioctl() functionality – that related to STREAMS. Since the STREAMS facility is obsolescent, the interface to it is also obsolescent in POSIX.

    However, ioctl() has been part of Unix since ‘forever’ (it was certainly in 7th Edition UNIX, and I am tolerably certain it was not new even then). It is ‘the way’ to control device drivers after they are open. The only issue is that such interfaces and controls are not standardized.

    You could take a look at the <termios.h> files for a set of functions written to control terminals. I expect that the typical implementation uses ioctl() or other similar specialized mechanisms, but the interface was made general when it was standardized (the <termios.h> interface is not identical to any earlier interface, either the 7th Edition or the System III or any other interface). If you wanted to, you could write standard functions atop your ioctl() interface that your users would use; you would implement those functions to call onto your ioctl() interface.

    So, ioctl() isn’t going away; it is the correct way to control device drivers. POSIX has a slightly different agenda, that’s all.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

When developing a module (device driver, middleware, etc...) that will run in the kernel
I'm developing a Linux driver loadable module and I have to use another device
I'll be developing something for a Windows Mobile device using CompactFramework/C#. I wonder if
I am developing CDC driver for USB device and I stumble on some problem.
I'm developing a device driver for use on Windows. Does the driver have to
I am following the steps listed here: http://developer.android.com/guide/developing/device.html . I'm using eclipse 3.6 (It
I am developing a device driver in Visual C++. I need to convert a
I'm developing a javascript code to run on an embedded device using the ANT
I'm developing a device driver for embedded linux(ARM). How can I compile the KO
I am developing a Windows device-driver and need to delay execution of a system

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.