From: "Mr Jinks" Newsgroups: comp.os.msdos.djgpp Subject: Re: Functions in struct's... possible? How? Date: 3 Sep 1997 14:12:10 GMT Organization: World Online Lines: 355 Message-ID: <01bcb873$64462640$6e86f1c3@lodewijk> References: <33FCDA5C DOT 2353659F AT execulink DOT com> <5tippg$ci7$2 AT news DOT sendit DOT nodak DOT edu> <5tkq9a$2se$1 AT helios DOT crest DOT nt DOT com> <5tmcai$nuo$1 AT news DOT sendit DOT nodak DOT edu> <340B1E27 DOT 44FAD207 AT alcyone DOT com> <01bcb756$1d6d3ce0$5386f1c3 AT lodewijk> <5uisg2$s96 AT freenet-news DOT carleton DOT ca> NNTP-Posting-Host: dlft1-p110.worldonline.nl Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_01BCB884.27CEF640" Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk This is a multi-part message in MIME format. ------=_NextPart_000_01BCB884.27CEF640 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit ------=_NextPart_000_01BCB884.27CEF640 Content-Type: application/octet-stream; name="Example.c" Content-Transfer-Encoding: 7bit Content-Description: Example.c (C File) Content-Disposition: attachment; filename="Example.c" /* example.c */ /* Include file which contains all object functions and structures */ #include "object.h" /* Global list of basic objects */ Object *ObjectList[2]; int main() { int i; /* Basic object pointer, that you will use to manipulate all objects */ Object * ObjectPtr; /* Initialize all objects here */ InitializeObjects(); /* Example loop which manipalates all objects */ for( i = 0; i < 2; i++) { ObjectPtr = ObjectList[i]; ObjectPtr->DoSomething(ObjectPtr); /* OUTPUT: X_Object int x = 1 Y_Object int y = 2 */ } return 0; } ------=_NextPart_000_01BCB884.27CEF640 Content-Type: application/octet-stream; name="Example.gdt" Content-Transfer-Encoding: base64 Content-Description: Example.gdt (GDT File) Content-Disposition: attachment; filename="Example.gdt" ABdfX1JISURFX2Rlc2t0b3AtZmlsZV9fGhEAr3FweHQgKCQXHxoxMR5xADc/OhMTPiEABw8PBw8H cABwf3oTE3Bwf34gKy94LnAwPz4fLxogcjExMC8+MRMAABcfGjExHnEXHx4fGx0dHR0bGkAfME8f B3B8XwAAAAAANz86ExM+czc/Pj87PT09PTs6QD8QTz8HcHxfAAAAAAAHDw8HDw5wBw8ODwsNDQ0N CwpADzBPD1dwfF8AAAAAADc/OhMTMD4eTi4AAAAAAAABAAAAAAEAAAABAAAATwAAABYAAAADAAAA AAAAAAAABQAAAAoAAAABAAAAAi1zCwAAAAEAAAAFLW0zODZkAAAAAAAAAAEAAAADAAAADi4uL2V4 YW1wbGUuZ3ByBSouZ3ByFmM6XGV4YW1wbGVcZXhhbXBsZS5ncHIAAAAABgAAAA4qLlthY2ZnaG1v cHNdKglleGFtcGxlLmMJaW5pdG9iai5jCW1hbmlwX3guYwltYW5pcF95LmMIb2JqZWN0LmgAAK8H BwcBcAFwBw8HBwcHcAAHDwcHBwdwAAcPBwcHB3AABw8HBwcHB3ABcAFwBwcHcAcPAXAHBwcHB3AH AQcHAAAHDwcHBwdwDw8HDw8PDw8PDw9wDwFwD3BwcHAAAAAAAAcPBwcHB3APDwcPDw8PDw8PD3AP AXAPcHBwcAAAAAAABw8HBwcHcA8PBw8PDw8PDw8PcA8BcA9wcHBwAAAAAAAHDwcHBwcBcHBwAAAA AAAAr3FweHQgKCQXHxoxMR5xADc/OhMTPiEABw8PBw8HcABwf3oTE3Bwf34gKy94LnAwPz4fLxog cjExMC8+MRMAABcfGjExHnEXHx4fGx0dHR0bGkAfME8fB3B8XwAAAAAANz86ExM+czc/Pj87PT09 PTs6QD8QTz8HcHxfAAAAAAAHDw8HDw5wBw8ODwsNDQ0NCwpADzBPD1dwfF8AAAAAADc/OhMTMD4e Ti4AAAAAAAAFACAzAAH//////////////////////////////////////////wAIAAAAAAAQAAAA UAAAABcAAAAAAAAAEAAAAFAAAAAXAAAAC2M6L2V4YW1wbGUv ------=_NextPart_000_01BCB884.27CEF640 Content-Type: application/octet-stream; name="Example.gpr" Content-Transfer-Encoding: base64 Content-Description: Example.gpr (GPR File) Content-Disposition: attachment; filename="Example.gpr" F19fUkhJREVfcHJvamVjdC1maWxlX18aAlsBAQUABAD/C2V4YW1wbGUuZXhlCQAKAAUAAlsBAwQA AAAEAAAABQAAAAJbAQIEAAlleGFtcGxlLmMJZXhhbXBsZS5vAAAFAAAAAlsBAwEAAAAHAAAACAAA AAJbAQIEAP8Ib2JqZWN0LmgJAAgACAAA/wAAAAAAAAAA//9dXf8AAAAAAAAAAP//XQJbAQIEAAlp bml0b2JqLmMJaW5pdG9iai5vAAAFAAAAAlsBAwMAAAAHAAAACAAAAAJbAQIEAP8ZYzovZGpncHAv aW5jbHVkZS9zdGRsaWIuaAkACAAIAAD/AAAAAAAAAAD//10CWwECBAD/HmM6L2RqZ3BwL2luY2x1 ZGUvc3lzL2RqdHlwZXMuaAkACAAIAAD/AAAAAAAAAAD//10CWwECBAD/CG9iamVjdC5oCQAIAAgA AP8AAAAAAAAAAP//XV3/AAAAAAAAAAD//10CWwECBAAJbWFuaXBfeC5jCW1hbmlwX3gubwAABQAA AAJbAQMDAAAABwAAAAgAAAACWwECBAD/GGM6L2RqZ3BwL2luY2x1ZGUvc3RkaW8uaAkACAAIAAD/ AAAAAAAAAAD//10CWwECBAD/HmM6L2RqZ3BwL2luY2x1ZGUvc3lzL2RqdHlwZXMuaAkACAAIAAD/ AAAAAAAAAAD//10CWwECBAD/CG9iamVjdC5oCQAIAAgAAP8AAAAAAAAAAP//XV3/AAAAAAAAAAD/ /10CWwECBAAJbWFuaXBfeS5jCW1hbmlwX3kubwAABQAAAAJbAQMDAAAABwAAAAgAAAACWwECBAD/ GGM6L2RqZ3BwL2luY2x1ZGUvc3RkaW8uaAkACAAIAAD/AAAAAAAAAAD//10CWwECBAD/HmM6L2Rq Z3BwL2luY2x1ZGUvc3lzL2RqdHlwZXMuaAkACAAIAAD/AAAAAAAAAAD//10CWwECBAD/CG9iamVj dC5oCQAIAAgAAP8AAAAAAAAAAP//XV3/AAAAAAAAAAD//11d/wAAAAAAAAAA//8CWwEGBgACWwEL AAAAAAAAAAABAAAAXQJbAQsAAAAAAAAAAAEAAABdAAACWwELAAAAAAAAAAABAAAAXUwDAlsBDQEA AAABAAAAAQAAAAItc10CWwENAQAAAAEAAAABAAAABS1tMzg2XQJbAQsAAAAAAAAAAAEAAABdAlsB CwAAAAAAAAAAAQAAAF0CWwEFMQAAADEAAAAKAAAAAlsBBAEAAi1PAQEBAwAAAF0CWwEEAQAOLWZj YWxsZXItc2F2ZXMAAABdAlsBBAEAEi1mY3NlLWZvbGxvdy1qdW1wcwAAAF0CWwEEAQARLWZjc2Ut c2tpcC1ibG9ja3MAAABdAlsBBAEAEC1mZGVmYXVsdC1pbmxpbmUAAABdAlsBBAEACy1mZGVmZXIt cG9wAAAAXQJbAQQBABAtZmRlbGF5ZWQtYnJhbmNoAAAAXQJbAQQBABktZmV4cGVuc2l2ZS1vcHRp bWl6YXRpb25zAAAAXQJbAQQBAAstZmZhc3QtbWF0aAEAAF0CWwEEAQANLWZmbG9hdC1zdG9yZQAA AF0CWwEEAQAMLWZmb3JjZS1hZGRyAAAAXQJbAQQBAAstZmZvcmNlLW1lbQAAAF0CWwEEAQAOLWZm dW5jdGlvbi1jc2UAAABdAlsBBAEACC1maW5saW5lAAAAXQJbAQQBABItZmlubGluZS1mdW5jdGlv bnMAAABdAlsBBAEAFy1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zAAAAXQJbAQQBABEtZm5vLWNhbGxl ci1zYXZlcwAAAF0CWwEEAQAVLWZuby1jc2UtZm9sbG93LWp1bXBzAAAAXQJbAQQBABQtZm5vLWNz ZS1za2lwLWJsb2NrcwAAAF0CWwEEAQATLWZuby1kZWZhdWx0LWlubGluZQAAAF0CWwEEAQAOLWZu by1kZWZlci1wb3AAAABdAlsBBAEAEy1mbm8tZGVsYXllZC1icmFuY2gAAABdAlsBBAEAHC1mbm8t ZXhwZW5zaXZlLW9wdGltaXphdGlvbnMAAABdAlsBBAEADi1mbm8tZmFzdC1tYXRoAAAAXQJbAQQB ABAtZm5vLWZsb2F0LXN0b3JlAAAAXQJbAQQBAA8tZm5vLWZvcmNlLWFkZHIAAABdAlsBBAEADi1m bm8tZm9yY2UtbWVtAAAAXQJbAQQBABEtZm5vLWZ1bmN0aW9uLWNzZQAAAF0CWwEEAQALLWZuby1p bmxpbmUAAABdAlsBBAEAFS1mbm8taW5saW5lLWZ1bmN0aW9ucwAAAF0CWwEEAQAaLWZuby1rZWVw LWlubGluZS1mdW5jdGlvbnMAAABdAlsBBAEAFy1mbm8tb21pdC1mcmFtZS1wb2ludGVyAAAAXQJb AQQBAA0tZm5vLXBlZXBob2xlAAAAXQJbAQQBABktZm5vLXJlcnVuLWNzZS1hZnRlci1sb29wAAAA XQJbAQQBABMtZm5vLXNjaGVkdWxlLWluc25zAAAAXQJbAQQBABQtZm5vLXNjaGVkdWxlLWluc25z MgAAAF0CWwEEAQAULWZuby1zdHJlbmd0aC1yZWR1Y2UAAABdAlsBBAEAES1mbm8tdGhyZWFkLWp1 bXBzAAAAXQJbAQQBABUtZm5vLXVucm9sbC1hbGwtbG9vcHMAAABdAlsBBAEAES1mbm8tdW5yb2xs LWxvb3BzAAAAXQJbAQQBABQtZm9taXQtZnJhbWUtcG9pbnRlcgEAAF0CWwEEAQAKLWZwZWVwaG9s ZQAAAF0CWwEEAQAWLWZyZXJ1bi1jc2UtYWZ0ZXItbG9vcAAAAF0CWwEEAQAQLWZzY2hlZHVsZS1p bnNucwAAAF0CWwEEAQARLWZzY2hlZHVsZS1pbnNuczIAAABdAlsBBAEAES1mc3RyZW5ndGgtcmVk dWNlAAAAXQJbAQQBAA4tZnRocmVhZC1qdW1wcwAAAF0CWwEEAQASLWZ1bnJvbGwtYWxsLWxvb3Bz AAAAXQJbAQQBAA4tZnVucm9sbC1sb29wcwAAAF1dAlsBBSgAAAAoAAAACgAAAAJbAQQBAA0tZnN5 bnRheC1vbmx5AAAAXQJbAQQBAAktcGVkYW50aWMAAABdAlsBBAEAEC1wZWRhbnRpYy1lcnJvcnMA AABdAlsBBAEAAi13AAAAXQJbAQQBAAItVwAAAF0CWwEEAQASLVdhZ2dyZWdhdGUtcmV0dXJuAAAA XQJbAQQBAAUtV2FsbAAAAF0CWwEEAQATLVdiYWQtZnVuY3Rpb24tY2FzdAAAAF0CWwEEAQAMLVdj YXN0LWFsaWduAAAAXQJbAQQBAAstV2Nhc3QtcXVhbAAAAF0CWwEEAQARLVdjaGFyLXN1YnNjcmlw dHMAAABdAlsBBAEACS1XY29tbWVudAAAAF0CWwEEAQAMLVdjb252ZXJzaW9uAAAAXQJbAQQBAAwt V2VudW0tY2xhc2gAAABdAlsBBAEABy1XZXJyb3IAAABdAlsBBAEACC1XZm9ybWF0AAAAXQJbAQQB AAstV2lkLWNsYXNoLQABAv////9dAlsBBAEACi1XaW1wbGljaXQAAABdAlsBBAEACC1XaW5saW5l AAAAXQJbAQQBAA4tV2xhcmdlci10aGFuLQABAv////9dAlsBBAEAFi1XbWlzc2luZy1kZWNsYXJh dGlvbnMAAABdAlsBBAEAFC1XbWlzc2luZy1wcm90b3R5cGVzAAAAXQJbAQQBABAtV25lc3RlZC1l eHRlcm5zAAAAXQJbAQQBAAstV25vLWltcG9ydAAAAF0CWwEEAQAULVdvdmVybG9hZGVkLXZpcnR1 YWwAAABdAlsBBAEADS1XcGFyZW50aGVzZXMAAABdAlsBBAEADy1XcG9pbnRlci1hcml0aAAAAF0C WwEEAQARLVdyZWR1bmRhbnQtZGVjbHMAAABdAlsBBAEACS1XcmVvcmRlcgAAAF0CWwEEAQANLVdy ZXR1cm4tdHlwZQAAAF0CWwEEAQAILVdzaGFkb3cAAABdAlsBBAEAEy1Xc3RyaWN0LXByb3RvdHlw ZXMAAABdAlsBBAEACC1Xc3dpdGNoAAAAXQJbAQQBAActV3N5bnRoAAAAXQJbAQQBABQtV3RlbXBs YXRlLWRlYnVnZ2luZwAAAF0CWwEEAQANLVd0cmFkaXRpb25hbAAAAF0CWwEEAQALLVd0cmlncmFw aHMAAABdAlsBBAEADy1XdW5pbml0aWFsaXplZAAAAF0CWwEEAQAILVd1bnVzZWQAAABdAlsBBAEA Dy1Xd3JpdGUtc3RyaW5ncwAAAF1dAlsBBQ4AAAAOAAAACgAAAAJbAQQBAAItZwEBAf////9dAlsB BAEAAi1hAAAAXQJbAQQBAAItZAABBBZNTkR5cnhqc0x0ZmNTbGdSSmRrYW1w/10CWwEEAQAPLWZw cmV0ZW5kLWZsb2F0AAAAXQJbAQQBAAYtZ2NvZmYAAQH/////XQJbAQQBAActZ2R3YXJmAAEB//// /10CWwEEAQAILWdkd2FyZisAAABdAlsBBAEABS1nZ2RiAAEB/////10CWwEEAQAHLWdzdGFicwAB Af////9dAlsBBAEACC1nc3RhYnMrAAAAXQJbAQQBAActZ3hjb2ZmAAEB/////10CWwEEAQACLXAA AABdAlsBBAEAAy1wZwAAAF0CWwEEAQALLXNhdmUtdGVtcHMAAABdXQJbAQUaAAAAGgAAAAoAAAAC WwEEAQANLWZhbGwtdmlydHVhbAAAAF0CWwEEAQAYLWZhbHQtZXh0ZXJuYWwtdGVtcGxhdGVzAAAA XQJbAQQBAAstZmNoZWNrLW5ldwAAAF0CWwEEAQAQLWZjb25zZXJ2ZS1zcGFjZQAAAF0CWwEEAQAY LWZkb2xsYXJzLWluLWlkZW50aWZpZXJzAAAAXQJbAQQBABAtZmVudW0taW50LWVxdWl2AAAAXQJb AQQBABQtZmV4dGVybmFsLXRlbXBsYXRlcwAAAF0CWwEEAQATLWZoYW5kbGUtc2lnbmF0dXJlcwAA AF0CWwEEAQAOLWZodWdlLW9iamVjdHMAAABdAlsBBAEAES1mbWVtb2l6ZS1sb29rdXBzAAAAXQJb AQQBABMtZm5vLWFjY2Vzcy1jb250cm9sAAAAXQJbAQQBABMtZm5vLWRlZmF1bHQtaW5saW5lAAAA XQJbAQQBABEtZm5vLWdudS1rZXl3b3JkcwAAAF0CWwEEAQAWLWZuby1pbXBsZW1lbnQtaW5saW5l cwAAAF0CWwEEAQAXLWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMAAABdAlsBBAEAFC1mbm8tbm9ubnVs bC1vYmplY3RzAAAAXQJbAQQBABAtZm9wZXJhdG9yLW5hbWVzAAAAXQJbAQQBAA8tZnNhdmUtbWVt b2l6ZWQAAABdAlsBBAEAEi1mc3RyaWN0LXByb3RvdHlwZQAAAF0CWwEEAQASLWZ0aGlzLWlzLXZh cmlhYmxlAAAAXQJbAQQBAA8tZnZ0YWJsZS10aHVua3MAAABdAlsBBAEACy1ub3N0ZGluYysrAAAA XQJbAQQBAAwtdHJhZGl0aW9uYWwAAABdAlsBBAEADC1XZW51bS1jbGFzaAAAAF0CWwEEAQAULVdv dmVybG9hZGVkLXZpcnR1YWwAAABdAlsBBAEAFC1XdGVtcGxhdGUtZGVidWdnaW5nAAAAXV0CWwEF DwAAAA8AAAAKAAAAAlsBBAEABS1hbnNpAAAAXQJbAQQBABgtZmFsbG93LXNpbmdsZS1wcmVjaXNp b24AAABdAlsBBAEADy1mY29uZC1taXNtYXRjaAAAAF0CWwEEAQAILWZuby1hc20AAABdAlsBBAEA DC1mbm8tYnVpbHRpbgAAAF0CWwEEAQAVLWZuby1zaWduZWQtYml0ZmllbGRzAAAAXQJbAQQBABct Zm5vLXVuc2lnbmVkLWJpdGZpZWxkcwAAAF0CWwEEAQASLWZzaWduZWQtYml0ZmllbGRzAAAAXQJb AQQBAA0tZnNpZ25lZC1jaGFyAAAAXQJbAQQBABQtZnVuc2lnbmVkLWJpdGZpZWxkcwAAAF0CWwEE AQAPLWZ1bnNpZ25lZC1jaGFyAAAAXQJbAQQBABItZndyaXRhYmxlLXN0cmluZ3MAAABdAlsBBAEA DC10cmFkaXRpb25hbAAAAF0CWwEEAQAQLXRyYWRpdGlvbmFsLWNwcAAAAF0CWwEEAQAKLXRyaWdy YXBocwAAAF1dAlsBDQAAAAAAAAAAAQAAAF0CWwEOawAAAGsAAAABAAAACV9fYWxpZ25vZgtfX2Fs aWdub2ZfXwVfX2FzbQdfX2FzbV9fC19fYXR0cmlidXRlDV9fYXR0cmlidXRlX18HX19jb25zdAlf X2NvbnN0X18PX19jb25zdHJ1Y3Rvcl9fDl9fZGVzdHJ1Y3Rvcl9fDV9fZXh0ZW5zaW9uX18IX19p bmxpbmUKX19pbmxpbmVfXwlfX2xhYmVsX18KX19wYWNrZWRfXwtfX3JlZ3Bhcm1fXw1fX3NpZ25h dHVyZV9fCF9fc2lnbmVkCl9fc2lnbmVkX18JX19zaWdvZl9fCF9fdHlwZW9mCl9fdHlwZW9mX18K X191bnVzZWRfXwpfX3ZvbGF0aWxlDF9fdm9sYXRpbGVfXwlfX3djaGFyX3QDYW5kBmFuZF9lcQNh c20EYXV0bwZiaXRhbmQFYml0b3IEYm9vbAVicmVhawRjYXNlBWNhdGNoBGNoYXIFY2xhc3MFY29t cGwFY29uc3QKY29uc3RfY2FzdAtjb25zdHJ1Y3Rvcghjb250aW51ZQdkZWZhdWx0BmRlbGV0ZQpk ZXN0cnVjdG9yAmRvBmRvdWJsZQxkeW5hbWljX2Nhc3QEZWxzZQRlbnVtCGV4cGxpY2l0BmV4dGVy bgVmYWxzZQVmbG9hdANmb3IGZnJpZW5kBGdvdG8CaWYGaW5saW5lA2ludARsb25nB211dGFibGUJ bmFtZXNwYWNlA25ldwNub3QGbm90X2VxCG9wZXJhdG9yAm9yBW9yX2VxCG92ZXJsb2FkBnBhY2tl ZAdwcml2YXRlCXByb3RlY3RlZAZwdWJsaWMIcmVnaXN0ZXIHcmVncGFybRByZWludGVycHJldF9j YXN0BnJldHVybgVzaG9ydAlzaWduYXR1cmUGc2lnbmVkBXNpZ29mBnNpemVvZgZzdGF0aWMLc3Rh dGljX2Nhc3QGc3RydWN0BnN3aXRjaAh0ZW1wbGF0ZQR0aGlzBXRocm93BHRydWUDdHJ5B3R5cGVk ZWYGdHlwZWlkCHR5cGVuYW1lBnR5cGVvZgV1bmlvbgh1bnNpZ25lZAZ1bnVzZWQFdXNpbmcHdmly dHVhbAR2b2lkCHZvbGF0aWxlBXdoaWxlA3hvcgZ4b3JfZXEAAAAAXQJbAQ4AAAAAAAAAAAUAAAAA AAAAXQJbAQUPAAAADwAAAAoAAAACWwEEAQAOLWZjaGFyLWVzY2FwZXMAAABdAlsBBAEACy1mYy1u dW1iZXJzAAAAXQJbAQQBAA8tZnNob3J0LWNpcmN1aXQAAABdAlsBBAEACS1mbGF6eS1pbwAAAF0C WwEEAQARLWZzdGFuZGFyZC1wYXNjYWwAAABdAlsBBAEAES1mZXh0ZW5kZWQtcGFzY2FsAAAAXQJb AQQBAA8tZm9iamVjdC1wYXNjYWwAAABdAlsBBAEAEC1mYm9ybGFuZC1wYXNjYWwAAABdAlsBBAEA Cy1mcGFzY2FsLXNjAAAAXQJbAQQBABEtZmV4dGVuZGVkLXN5bnRheAAAAF0CWwEEAQAHLWZsaW5l cwAAAF0CWwEEAQALLWZkZWJ1Zy1ncGkAAABdAlsBBAEAES1mbmVzdGVkLWNvbW1lbnRzAAAAXQJb AQQBAAstZnNldGxpbWl0OgABAv////9dAlsBBAEACy1mZ3BjLW1haW46AAEE//9dXQJbAQ5IAAAA SAAAAAEAAAAIQWJzb2x1dGUIQWJzdHJhY3QDQWxsA0FuZAhBbmRfdGhlbgVBcnJheQNBc20FQmVn aW4IQmluZGFibGUEQ2FzZQVDbGFzcwVDb25zdAtDb25zdHJ1Y3RvcgpEZXN0cnVjdG9yA0RpdgJE bwZEb3dudG8ERWxzZQNFbmQGRXhwb3J0B0V4cG9ydHMERmlsZQNGb3IIRnVuY3Rpb24ER290bwJJ Zg5JbXBsZW1lbnRhdGlvbgZJbXBvcnQCSW4JSW5oZXJpdGVkBklubGluZQlJbnRlcmZhY2UCSXMF TGFiZWwHTGlicmFyeQNNb2QGTW9kdWxlA05pbANOb3QGT2JqZWN0Ak9mBE9ubHkIT3BlcmF0b3IC T3IHT3JfZWxzZQlPdGhlcndpc2UGUGFja2VkA1BvdwlQcm9jZWR1cmUHUHJvZ3JhbQhQcm9wZXJ0 eQlQcm90ZWN0ZWQJUXVhbGlmaWVkBlJlY29yZAZSZXBlYXQKUmVzdHJpY3RlZANTZXQDU2hsA1No cgRUaGVuAlRvBFR5cGUEVW5pdAVVbnRpbARVc2VzBVZhbHVlA1ZhcgRWaWV3B1ZpcnR1YWwFV2hp bGUEV2l0aANYb3IAAAAAXQJbAQVpAAAAaQAAAAoAAAACWwEEAQAJLWZ2ZXJzaW9uAAAAXQJbAQQB AA4tZm51bGwtdmVyc2lvbgAAAF0CWwEEAQASLWZzZXQtZzc3LWRlZmF1bHRzAAAAXQJbAQQBAAUt ZmY2NgAAAF0CWwEEAQAILWZuby1mNjYAAABdAlsBBAEABS1mZjc3AAAAXQJbAQQBAAgtZm5vLWY3 NwAAAF0CWwEEAQAFLWZmOTAAAABdAlsBBAEACC1mbm8tZjkwAAAAXQJbAQQBAAstZmF1dG9tYXRp YwAAAF0CWwEEAQAOLWZuby1hdXRvbWF0aWMAAABdAlsBBAEACy1mZG9sbGFyLW9rAAAAXQJbAQQB AA4tZm5vLWRvbGxhci1vawAAAF0CWwEEAQAFLWZmMmMAAABdAlsBBAEACC1mbm8tZjJjAAAAXQJb AQQBAA0tZmYyYy1saWJyYXJ5AAAAXQJbAQQBABAtZm5vLWYyYy1saWJyYXJ5AAAAXQJbAQQBAAst ZmZyZWUtZm9ybQAAAF0CWwEEAQAOLWZuby1mcmVlLWZvcm0AAABdAlsBBAEADC1mZml4ZWQtZm9y bQAAAF0CWwEEAQAPLWZuby1maXhlZC1mb3JtAAAAXQJbAQQBAAotZnBlZGFudGljAAAAXQJbAQQB AA0tZm5vLXBlZGFudGljAAAAXQJbAQQBAA0tZnZ4dC1ub3QtZjkwAAAAXQJbAQQBAA0tZmY5MC1u b3Qtdnh0AAAAXQJbAQQBAAYtZnVnbHkAAABdAlsBBAEACS1mbm8tdWdseQAAAF0CWwEEAQALLWZ1 Z2x5LWFyZ3MAAABdAlsBBAEADi1mbm8tdWdseS1hcmdzAAAAXQJbAQQBAA4tZnVnbHktYXNzdW1l ZAAAAF0CWwEEAQARLWZuby11Z2x5LWFzc3VtZWQAAABdAlsBBAEADC1mdWdseS1jb21tYQAAAF0C WwEEAQAPLWZuby11Z2x5LWNvbW1hAAAAXQJbAQQBAAstZnVnbHktaW5pdAAAAF0CWwEEAQAOLWZu by11Z2x5LWluaXQAAABdAlsBBAEADS1mdWdseS1sb2dpbnQAAABdAlsBBAEAEC1mbm8tdWdseS1s b2dpbnQAAABdAlsBBAEABy1mZGVidWcAAABdAlsBBAEACi1mbm8tZGVidWcAAABdAlsBBAEAES1m aW5pdC1sb2NhbC16ZXJvAAAAXQJbAQQBABQtZm5vLWluaXQtbG9jYWwtemVybwAAAF0CWwEEAQAL LWZiYWNrc2xhc2gAAABdAlsBBAEADi1mbm8tYmFja3NsYXNoAAAAXQJbAQQBAA4tZnVuZGVyc2Nv cmluZwAAAF0CWwEEAQARLWZuby11bmRlcnNjb3JpbmcAAABdAlsBBAEAEy1mc2Vjb25kLXVuZGVy c2NvcmUAAABdAlsBBAEAFi1mbm8tc2Vjb25kLXVuZGVyc2NvcmUAAABdAlsBBAEAFS1maW50cmlu LWNhc2UtaW5pdGNhcAAAAF0CWwEEAQATLWZpbnRyaW4tY2FzZS11cHBlcgAAAF0CWwEEAQATLWZp bnRyaW4tY2FzZS1sb3dlcgAAAF0CWwEEAQARLWZpbnRyaW4tY2FzZS1hbnkAAABdAlsBBAEAFC1m bWF0Y2gtY2FzZS1pbml0Y2FwAAAAXQJbAQQBABItZm1hdGNoLWNhc2UtdXBwZXIAAABdAlsBBAEA Ei1mbWF0Y2gtY2FzZS1sb3dlcgAAAF0CWwEEAQAQLWZtYXRjaC1jYXNlLWFueQAAAF0CWwEEAQAT LWZzb3VyY2UtY2FzZS11cHBlcgAAAF0CWwEEAQATLWZzb3VyY2UtY2FzZS1sb3dlcgAAAF0CWwEE AQAWLWZzb3VyY2UtY2FzZS1wcmVzZXJ2ZQAAAF0CWwEEAQAVLWZzeW1ib2wtY2FzZS1pbml0Y2Fw AAAAXQJbAQQBABMtZnN5bWJvbC1jYXNlLXVwcGVyAAAAXQJbAQQBABMtZnN5bWJvbC1jYXNlLWxv d2VyAAAAXQJbAQQBABEtZnN5bWJvbC1jYXNlLWFueQAAAF0CWwEEAQATLWZjYXNlLXN0cmljdC11 cHBlcgAAAF0CWwEEAQATLWZjYXNlLXN0cmljdC1sb3dlcgAAAF0CWwEEAQAOLWZjYXNlLWluaXRj YXAAAABdAlsBBAEADC1mY2FzZS11cHBlcgAAAF0CWwEEAQAMLWZjYXNlLWxvd2VyAAAAXQJbAQQB AA8tZmNhc2UtcHJlc2VydmUAAABdAlsBBAEAFy1mZGNwLWludHJpbnNpY3MtZGVsZXRlAAAAXQJb AQQBABUtZmRjcC1pbnRyaW5zaWNzLWhpZGUAAABdAlsBBAEAGC1mZGNwLWludHJpbnNpY3MtZGlz YWJsZQAAAF0CWwEEAQAXLWZkY3AtaW50cmluc2ljcy1lbmFibGUAAABdAlsBBAEAFy1mZjJjLWlu dHJpbnNpY3MtZGVsZXRlAAAAXQJbAQQBABUtZmYyYy1pbnRyaW5zaWNzLWhpZGUAAABdAlsBBAEA GC1mZjJjLWludHJpbnNpY3MtZGlzYWJsZQAAAF0CWwEEAQAXLWZmMmMtaW50cmluc2ljcy1lbmFi bGUAAABdAlsBBAEAFy1mZjkwLWludHJpbnNpY3MtZGVsZXRlAAAAXQJbAQQBABUtZmY5MC1pbnRy aW5zaWNzLWhpZGUAAABdAlsBBAEAGC1mZjkwLWludHJpbnNpY3MtZGlzYWJsZQAAAF0CWwEEAQAX LWZmOTAtaW50cmluc2ljcy1lbmFibGUAAABdAlsBBAEAFy1mbWlsLWludHJpbnNpY3MtZGVsZXRl AAAAXQJbAQQBABUtZm1pbC1pbnRyaW5zaWNzLWhpZGUAAABdAlsBBAEAGC1mbWlsLWludHJpbnNp Y3MtZGlzYWJsZQAAAF0CWwEEAQAXLWZtaWwtaW50cmluc2ljcy1lbmFibGUAAABdAlsBBAEAGC1m dW5peC1pbnRyaW5zaWNzLWRlbGV0ZQAAAF0CWwEEAQAWLWZ1bml4LWludHJpbnNpY3MtaGlkZQAA AF0CWwEEAQAZLWZ1bml4LWludHJpbnNpY3MtZGlzYWJsZQAAAF0CWwEEAQAYLWZ1bml4LWludHJp bnNpY3MtZW5hYmxlAAAAXQJbAQQBABctZnZ4dC1pbnRyaW5zaWNzLWRlbGV0ZQAAAF0CWwEEAQAV LWZ2eHQtaW50cmluc2ljcy1oaWRlAAAAXQJbAQQBABgtZnZ4dC1pbnRyaW5zaWNzLWRpc2FibGUA AABdAlsBBAEAFy1mdnh0LWludHJpbnNpY3MtZW5hYmxlAAAAXQJbAQQBAActZnplcm9zAAAAXQJb AQQBAAotZm5vLXplcm9zAAAAXQJbAQQBAA4tZmRlYnVnLWtsdWRnZQAAAF0CWwEEAQARLWZuby1k ZWJ1Zy1rbHVkZ2UAAABdAlsBBAEACS1mb25ldHJpcAAAAF0CWwEEAQAMLWZuby1vbmV0cmlwAAAA XQJbAQQBAAgtZnNpbGVudAAAAF0CWwEEAQALLWZuby1zaWxlbnQAAABdAlsBBAEADi1mdHlwZWxl c3MtYm96AAAAXQJbAQQBABEtZm5vLXR5cGVsZXNzLWJvegAAAF0CWwEEAQAMLVdzdXJwcmlzaW5n AAAAXQJbAQQBAA8tV25vLXN1cnByaXNpbmcAAABdAlsBBAEAFC1mZml4ZWQtbGluZS1sZW5ndGgt AAAAXV0CWwELAAAAAAAAAAABAAAAXV0OKi5bYWNmZ2htb3BzXSoIAAAAAwAAAAAAAlsBDQEAAAAB AAAAAQAAAARsaWJjXQIAAABYAgAABG1haW5d ------=_NextPart_000_01BCB884.27CEF640 Content-Type: application/octet-stream; name="Initobj.c" Content-Transfer-Encoding: 7bit Content-Description: Initobj.c (C File) Content-Disposition: attachment; filename="Initobj.c" // initobj.c /* Include file which contains malloc() function */ #include /* Include file which contains all object functions and structures */ #include "object.h" void InitializeObjects() { X_Object * x; Y_Object * y; if((x = malloc(sizeof(X_Object))) == NULL) { printf("Couldn't get memory\n"); exit(1); } x->DoSomething = Manip_X; if((y = malloc(sizeof(Y_Object))) == NULL) { printf("Couldn't get memory\n"); exit(1); } y->DoSomething = Manip_Y; ObjectList[0] = (Object*)x; ObjectList[1] = (Object*)y; } ------=_NextPart_000_01BCB884.27CEF640 Content-Type: application/octet-stream; name="Manip_x.c" Content-Transfer-Encoding: 7bit Content-Description: Manip_x.c (C File) Content-Disposition: attachment; filename="Manip_x.c" /* manip_x.c */ /* Include file which contains printf() function */ #include /* Include file which contains all object functions and structures */ #include "object.h" void Manip_X(X_Object * x) { /* Set variable x from a X_Object to 1 */ x->x = 1; /* Display the value x from the X_Object */ printf("X_Object int x = %d\n",x->x); }; ------=_NextPart_000_01BCB884.27CEF640 Content-Type: application/octet-stream; name="Manip_y.c" Content-Transfer-Encoding: 7bit Content-Description: Manip_y.c (C File) Content-Disposition: attachment; filename="Manip_y.c" /* manip_y.c */ /* Include file which contains printf() function */ #include /* Include file which contains all object functions and structures */ #include "object.h" void Manip_Y(Y_Object * y) { /* Set variable y from a Y_Object to 2 */ y->y = 2; /* Display the value y from the Y_Object */ printf("Y_Object int y = %d\n",y->y); } ------=_NextPart_000_01BCB884.27CEF640 Content-Type: application/octet-stream; name="Object.h" Content-Transfer-Encoding: 7bit Content-Description: Object.h (H File) Content-Disposition: attachment; filename="Object.h" #ifndef OBJECT_H #define OBJECT_H #define BASE_OBJECT \ void (*DoSomething)(); typedef struct { BASE_OBJECT } Object; typedef struct { BASE_OBJECT int x; }X_Object; typedef struct { BASE_OBJECT int y; }Y_Object; extern void InitializeObjects(void); //Declared in initobj.c extern void Manip_X(X_Object *); //Declared in manip_x.c extern void Manip_Y(Y_Object *); //Declared in manip_y.c extern Object *ObjectList[]; //Declared in example.c #endif // endif : #ifndef OBJECT_H ------=_NextPart_000_01BCB884.27CEF640--