ലിനക്സ് കമാൻഡ്-ioctl പഠിക്കുക

പേര്

ioctl - നിയന്ത്രണ ഉപകരണം

സംഗ്രഹം

# ഉൾപ്പെടുത്തുക

int ioctl (int d , int അഭ്യർത്ഥന , ...);

വിവരണം

Ioctl ഫംഗ്ഷൻ പ്രത്യേക ഫയലുകൾക്കുള്ള ഉപകരണത്തിന്റെ പരാമീറ്ററുകളെ കൈകാര്യം ചെയ്യുന്നു. പ്രത്യേകിച്ചു് സ്പെഷ്യൽ ഫയലുകളുടെ (ഉദാ ടെർമിനലുകൾ) പല പ്രവർത്തന വിശേഷതകളും ioctl ആവശ്യങ്ങൾ ഉപയോഗിച്ച് നിയന്ത്രിക്കാം. ആർഗ്യുമെന്റ് d ഒരു തുറന്ന ഫയൽ ഡിസ്ക്രിപ്റ്ററായിരിക്കണം.

രണ്ടാമത്തെ ആർഗ്യുമെൻറ് ഒരു ഉപകരണ-ആശ്രിത അഭ്യർത്ഥന കോഡാണ്. മൂന്നാമത്തെ ആർഗ്യുമെന്റ് മെമ്മറിനുള്ള ഒരു നീളം കൂടിയ പോയിന്റാണ്. പരമ്പരാഗതമായി ചർച്ച് * ആർംപപ് ( അസാധുവായ ദിവസത്തിനുമുൻപ് * സാധുതയുള്ളത് സി ആയിരുന്നു), ഈ ചർച്ചയ്ക്ക് അങ്ങനെ പേരുകൾ നൽകും.

ആർഗ്യുമെന്റ് ഒരു പാരാമീറ്ററിലാണോ അല്ലെങ്കിൽ പരാമീറ്ററാണോ, അതിൽ ആർഗ്യുമെന്റ് ആർബിപി ബൈറ്റുകളിൽ ആണോ എന്നു് ഒരു ioctl അപേക്ഷയിൽ എൻകോഡ് ചെയ്തിരിയ്ക്കുന്നു. ഒരു ioctl അഭ്യർത്ഥന വ്യക്തമാക്കുന്നതിൽ മാക്രോസും നിർവ്വചിച്ച ഫയലുകളും ഫയലിലുണ്ട് .

മടങ്ങുക മൂല്യം

സാധാരണയായി, വിജയം പൂജ്യം മടക്കിനൽകുന്നു. കുറച്ച് ioctls ഒരു ഔട്ട്പുട്ട് പാരാമീറ്ററായി റിട്ടേൺ മൂല്യം ഉപയോഗിക്കുകയും ഒരു nonnegative മൂല്യം വിജയം നൽകുകയും ചെയ്യും. പിശക് കാരണം, -1 മടക്കി, പിഴവ് അനുയോജ്യമായി സജ്ജമാക്കിയിരിക്കുന്നു.

പിശകുകൾ

EBADF

ഡി ഒരു സാധുവായ ഡിസ്ക്രിപ്റ്ററല്ല.

EFAULT

ലഭ്യമല്ലാത്ത മെമ്മറി ഏരിയയെ argp പരാമർശിക്കുന്നു.

ENOTTY

ഒരു പ്രതീക പ്രത്യേക ഉപകരണവുമായി ഡുമായി ബന്ധമില്ല.

ENOTTY

നിർദ്ദിഷ്ട അഭ്യർത്ഥന ഡെസ്ക്ക്രിപ്റ്റർ d റഫറൻസുകളുടെ ഒബ്ജക്റ്റിന് ബാധകമല്ല.

EINVAL

അഭ്യർത്ഥന അല്ലെങ്കിൽ ആർഗിന്റെ സാധുതയുള്ളതല്ല.

അത് ശരിയാണ്

ഒരൊറ്റ നിലവാരമില്ല. Ioctl (2) ന്റെ ആർഗ്യുമെന്റുകൾ, റിട്ടേണുകൾ, സെമാന്റിക്സ് എന്നിവ ചോദ്യം ചെയ്യപ്പെട്ട ഡിവൈസ് ഡ്രൈവർ അനുസരിച്ചാണ് ( യൂണിക്സ് സ്ട്രീം I / O മോഡലിനു യോജിച്ച് കിടക്കുന്ന പ്രവർത്തനങ്ങൾക്കായി കോൾ ഉപയോഗിക്കുന്നു). അറിയപ്പെടുന്ന ioctl കോളുകളുടെ ഒരു ലിസ്റ്റിനായി ioctl_list (2) കാണുക. പതിപ്പ് 7, AT & T യുനിക്സുകളിൽ ioctl ഫംഗ്ഷൻ കോൾ പ്രത്യക്ഷപ്പെട്ടു.