जब मैं सिस्टम कॉल पर कुछ पढ़ने कर रहा था, मैं LXR में हेडर फाइल को खोजने के लिए syscalls.h
के लिए एक खोज किया था। खोज परिणामों ने मुझे परेशान किया। arch/_arch_name_/include/asm
के अंतर्गत निर्देशिकाओं से आने वाली syscalls.h
फ़ाइलों में से एक दर्जन है। ये ठीक हैं, वे आर्किटेक्चर विशिष्ट परिभाषाएं हैं या कुछ और आवश्यक हैं। सवाल यह है कि हमारे पास include/linux
और include/asm-generic
दोनों के तहत दो अलग-अलग syscalls.h
हेडर क्यों हैं?लिनक्स कर्नेल हेडर के संगठन
इसके अलावा, मैं यह जानना चाहता हूं कि include/linux
शीर्षलेख क्या हैं और include/asm-generic
शीर्षलेख क्या हैं। वे एक-दूसरे के बीच अंतर कैसे करते हैं? दो अलग हेडर फ़ोल्डरों के पीछे तर्क क्या है? वे एक-दूसरे से कैसे जुड़े होते हैं?
धन्यवाद
क्या आप इन फ़ाइलों में से अंदर थे? –
इन /include/linux/syscalls.h में, कई सिस्टम कॉल घोषणाएं हैं। /include/asm-generic/syscalls.h में, सभी सिस्टम कॉल मैक्रो परिभाषाओं के साथ घोषित किए जाते हैं। लेकिन यह केवल syscalls.h पर लागू होता है, हालांकि, मैं बड़ी तस्वीर को समझना चाहता हूं। – dirtybit