ਨਾਮ
ioctl - ਕੰਟਰੋਲ ਡਿਵਾਈਸ
ਸੰਖੇਪ
#include
int ioctl (int d , int ਬੇਨਤੀ , ...);
ਵਰਣਨ
Ioctl ਫੰਕਸ਼ਨ ਖਾਸ ਫਾਈਲਾਂ ਦੇ ਅੰਡਰਲਾਈੰਗ ਡਿਵਾਈਸ ਮਾਪਦੰਡਾਂ ਦਾ ਪ੍ਰਯੋਗ ਕਰਦੀ ਹੈ. ਖਾਸ ਤੌਰ ਤੇ, ਅੱਖਰ ਵਿਸ਼ੇਸ਼ ਫਾਈਲਾਂ (ਜਿਵੇਂ ਟਰਮਿਨਲ) ਦੇ ਕਈ ਓਪਰੇਟਿੰਗ ਗੁਣਾਂ ਨੂੰ ioctl ਬੇਨਤੀਆਂ ਨਾਲ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ. ਦਲੀਲ D ਇੱਕ ਓਪਨ ਫਾਈਲ ਡਿਸਕ੍ਰਿਪਟਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ.
ਦੂਜੀ ਦਲੀਲ ਇੱਕ ਡਿਵਾਈਸ-ਆਸ਼ਰਿਤ ਬੇਨਤੀ ਕੋਡ ਹੈ. ਤੀਜਾ ਆਰਗੂਮੈਂਟ ਮੈਮੋਰੀ ਲਈ ਇੱਕ ਅਟੁੱਟ ਪੁਆਇੰਟਰ ਹੈ. ਇਹ ਰਵਾਇਤੀ ਤੌਰ 'ਤੇ ਚਾਰ * ਆਰ ਆਰਪ ਹੈ ( ਅਵੱਸ਼ ਤੋਂ ਪਹਿਲਾਂ ਦੇ ਦਿਨਾਂ ਤੋਂ * ਸੀਮਤ ਸੀ), ਅਤੇ ਇਸ ਚਰਚਾ ਲਈ ਇਸਦਾ ਨਾਮ ਦਿੱਤਾ ਜਾਵੇਗਾ.
ਇੱਕ ioctl ਬੇਨਤੀ ਵਿੱਚ ਇਸ ਵਿੱਚ ਏਨਕੋਡ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿ ਕੀ ਆਰਗੂਮੈਂਟ ਇੱਕ ਪੈਰਾਮੀਟਰ ਜਾਂ ਆਊਟ ਪੈਰਾਮੀਟਰ ਵਿੱਚ ਹੈ, ਅਤੇ ਆਰਗੂਮੈਂਟ ਆਰਗਰੇਵ ਦਾ ਬਾਈਟ ਬਾਈਟ ਹੈ. ਮਾਈਕਰੋਸ ਅਤੇ ਇੱਕ ioctl ਬੇਨਤੀ ਨਿਰਧਾਰਤ ਕਰਨ ਵਿੱਚ ਵਰਤੇ ਜਾਣ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਫਾਇਲ ਵਿੱਚ
ਵਾਪਸੀ ਮੁੱਲ
ਆਮ ਤੌਰ 'ਤੇ ਸਫ਼ਲਤਾ ਦੇ ਬਾਅਦ ਜ਼ੀਰੋ ਵਾਪਸ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ. ਕੁਝ ioctls ਇੱਕ ਆਉਟਪੁਟ ਪੈਰਾਮੀਟਰ ਦੇ ਰੂਪ ਵਿੱਚ ਰਿਟਰਨ ਵੈਲਯੂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ ਅਤੇ ਸਫਲਤਾ ਤੇ ਇੱਕ ਗੈਰ-ਨਾਜਾਇਜ਼ ਮੁੱਲ ਵਾਪਸ ਕਰਦੇ ਹਨ. ਗਲਤੀ, -1 ਨੂੰ ਵਾਪਸ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਅਤੇ errno ਠੀਕ ਤਰਾਂ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ.
ਗਲਤੀਆਂ
EBADF
d ਇੱਕ ਵੈਧ ਡਿਸਕ੍ਰਿਪਟਰ ਨਹੀਂ ਹੈ.
EFAULT
ਆਰਗਿਪ ਇੱਕ ਨਾ-ਪਹੁੰਚਯੋਗ ਮੈਮੋਰੀ ਖੇਤਰ ਦਾ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ.
ENOTTY
d ਕਿਸੇ ਅੱਖਰ ਵਿਸ਼ੇਸ਼ ਯੰਤਰ ਨਾਲ ਜੁੜਿਆ ਨਹੀਂ ਹੈ.
ENOTTY
ਖਾਸ ਬੇਨਤੀ ਡਿਸਕ੍ਰਿਪਟਰ ਡੀ ਦੇ ਹਵਾਲੇ ਦੀ ਕਿਸਮ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੀ ਹੈ.
EINVAL
ਬੇਨਤੀ ਜਾਂ ਆਰ ਆਰਪ ਵੈਧ ਨਹੀਂ ਹੈ.
ਨੂੰ ਅਨੁਕੂਲ
ਕੋਈ ਸਿੰਗਲ ਸਟੈਂਡਰਡ ਨਹੀਂ Ioctl (2) ਦੀ ਆਰਗੂਮਿੰਟ, ਰਿਟਰਨ ਅਤੇ ਸੈਮੇਟਿਕਸ ਡਿਵਾਈਸ ਡਰਾਈਵਰ ਦੇ ਅਨੁਸਾਰ ਵੱਖੋ-ਵੱਖਰੇ ਹੁੰਦੇ ਹਨ (ਕਾਲ ਨੂੰ ਉਹਨਾਂ ਕੈਪ-ਅਲਾਂ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਕਿ ਯੂਨਿਕਸ ਸਟ੍ਰੀਮ I / O ਮਾਡਲ ਨਾਲ ਠੀਕ ਨਹੀਂ ਹਨ). ਕਈ ਜਾਣੇ ioctl ਕਾਲਾਂ ਦੀ ਸੂਚੀ ਲਈ ioctl_list (2) ਵੇਖੋ. Ioctl ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਵਰਜਨ 7 AT & T ਯੂਨੀਕਸ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ.