 بسم اللہ الرحمن الرحیم آج ہم موڈیول 31 دیسکس کریں گے موڈیول 31 ہے اراثمیٹیک پوفور فائل سسٹنز یہاں پہ ہم دیکھیں گے کہ اگر آپ لارج فائلز کے ساتھ کام کریں ہیوڈ فائلز کے ساتھ جن کا سائیز جو ہے وہ ٹوریس ٹو تی پاور سکتا ہیوڈ فائلز ہے تو وہاں پہ ہمیں 64 بیٹ اراثمیٹیک کو اندستانٹ کرنے کی ضرورت ہے لہذا ہم نے ساتھ فائل پائلٹر کا فونکشن use کیا تھا اس کے اندر ہم نے 32 بیٹ اراثمیٹیک پرفارم کی تھی اس کے اندر ہمارے پاس کوئی ایسا دسترکشن نہیں تھا جس کے اندر کے 64 بیٹ کی ویلیو کتھی پڑی ہو اس کے اندر ہم نے 64 بیٹ کو 2 2 32 بیٹ کے چنکس کے اندر دوائیڈ کر کے اس فونکشن کو پاس کیا تھا تو اس لیے اس فونکشن کا جو use سمجھا رہتا تھا تھوڑا سا اکورڈ ہے اگر ہم 64 بیٹ کو کسی طرح سے کتھا انکابسولیٹ کر کے فونکشن کے اندر پاس کر سکیں ایپی ایک اندر پاس کر سکیں تو وہ سمجھا جاتا ہے کہ تھوڑا بیتر ہے اس کا استعمال امرے لیے اسان ہے تو اگر آپ نے اس سے ہاں لیویڈ کا فونکشن ساتھ فائل پائلٹر ایس کو اندستانٹ کرنا ہے تو اس کے لیے یہ آپ کو 64 بیٹ ارثمیٹیک اندستانٹ کرنے پڑے کہ یہاں بھی ہم few structure کو استعمال کرتے ہیں جس کے اندر کے ہم ہایر اور لور کو کمبائن کر کے پورا ہی 64 بیٹ کا جو ویڈیوبل ہے وہ دفعین کر سکتے ہیں ایک structure ایک union بنتی ہے اس کی ہم detail یہاں بھی دیکھتے ہیں تو یہاں بھی ہمارے پاس ایک structure ہے جس کو کہا جاتا ہے large integer large integer کا یہاں بھی استعمال ہو رہا ہے یہ بسکلی ایک طرح کی union ہے یا تو اس کے اندر ایک فیلڈ ہے جوکہ long long جس کی طائب long long جوکہ 64 بیٹ کا ہوتا یا پھر اس کے اندر ایک اور structure ہے ایک اور union ہے یہ long long کا اور ایک structure کا وہ structure کے اندر دو فیلڈ ہیں ایک low کے لیے اور ایک high کے لیے ہر فیلڈ جو ہے وہ 32 بیٹ کیا اور وہ low اور high کمبائن کر کے پورے 64 بیٹ بنتے ہیں یا تو آپ ان low اور high دونوں فیلڈ کو use کر سکتے ہیں یا پھر اس long long والے part کو use کر سکتے ہیں جس کو quad part کا آجاتا یہاں بھی ہم اس structure کی definition دیکھ سکتے ہیں یہ بسکلی ایک union ہے large integer جو ہے یہ ایک union ہے اس کے اندر ایک structure ہے اس کے اندر double word جو ہے وہ low part ہے اور long جو ہے وہ high part ہے long اس لی high part رکھا ہے تاکہ یہ signed ہو اگر تو آپ straight away low part اور high part فیلڈ کو use کرنا جاتے ہیں تو اوپر والا structure use کریں گے اگر you والے structure کی طرف کرنا جاتے ہیں تو دوسرا والا نیچے والا structure جو ہے اس کو استعمال کر سکتے ہیں اور last میں آپ دیکھ سکتے ہیں اس کے اندر ایک اور field ہے quad part بسکلی آپ دیکھ سکتے ہیں یہ union جو ہے تین اس کے components یا تو آپ اوپر والا structure کو use کریں یا بیچ والا structure کو use کریں یا آپ quad part کو use کریں تو ان تینوں میں سے آپ کسی کو بھی use کر سکتے ہیں اگر آپ کے پاس 64 bit کی data type ہے 64 bits کی form ہے تو آپ quad part کو use کر سکتے ہیں اگر 32 bit اور 32 bit lower اور higher form میں ہے تو اوپر والا دونوں structure میں سے کوئی بھی آپ structure استعمال کر سکتے ہیں آئیں آپ وپس set file pointer ex کی طرف چلتے ہیں ہم نے پہلے set file pointer اب یہ اس کی extension ہے جو کہ large integer ہمارے union کو use کرتی ہے اور اس کی مدد سے file pointer کی position جو ہے چینج کی جا سکتی ہے اس کا پہلے پیرامیٹر جو ہے وہ file کا handle ہے age file file کا handle ہے of course just file کے آپ نے pointer کو move کرنا اس کا handle specify کرنا پڑے گا دوسرا پیرامیٹر جو ہے distance to move ہے یہ distance to move جو اب ایدر آپ کہاں رکھ رہے ہیں large integer union کے اندر رکھ رہے ہیں اگر آپ کے بس 32 bit کے دو high اور low ہیں تو ان کو دونوں کو combine کر کے آپ large integer میں رہنے یا پھر آپ کے بس 64 bit کی ایک value ہے اس کو آپ large integer کے اندر رہنے اور اس کو آپ large integer parse کریں گے اور ایک pointer to large integer جب آپ file pointer کو move کریں گے with respect to begin of file end of file your current position تو ضروری نہیں ہے کہ pointer جہاں آپ نے کہاں ہے وہاں پہی چلا جائے actually جتنے bites وہ move ہوا ہے maybe file size کی limitation کی وجہ سے maybe جو آپ نے move method بتایا ہے اس کی وجہ سے actual number of bites وہ move ہوا ہے وہ کس کے اندر آئے گا وہ new file pointer position lp new file pointer کے اندر آجے گا یعنی جو file pointer کی position وہ اس کے اندر آجے گی اور یہ بھی ایک large integer کا pointer تو یہ اس لیے pointer ہے کیونکہ اس کی value تاکہ یہ function change کر سکے اور جو last field ہے وہ of course آپ کا move method ہے وہ begin of file end of file یا current position کی مذہ سے آپ file کو move کرنا چاہتے ہیں کسی بھی ایک تکنیک کو آپ یہاں پہاں بھی use کریں گے