ExternalLibraryFunction.st
changeset 10514 d79947992c91
parent 10512 5a01829213ab
child 10603 da9b7ed81caf
equal deleted inserted replaced
10513:0a27c8d86154 10514:d79947992c91
  1019                 if (async == true) goto badArgForAsyncCall;
  1019                 if (async == true) goto badArgForAsyncCall;
  1020                 __argValues[i].pointerVal = (void *)(__stringVal(arg));
  1020                 __argValues[i].pointerVal = (void *)(__stringVal(arg));
  1021             } else if (__isBytes(arg)) {
  1021             } else if (__isBytes(arg)) {
  1022                 if (async == true) goto badArgForAsyncCall;
  1022                 if (async == true) goto badArgForAsyncCall;
  1023                 __argValues[i].pointerVal = (void *)(__byteArrayVal(arg));
  1023                 __argValues[i].pointerVal = (void *)(__byteArrayVal(arg));
       
  1024             } else if (__isExternalAddressLike(arg)) {
       
  1025                 __argValues[i].pointerVal = (void *)(__externalAddressVal(arg));
       
  1026             } else if (__isExternalBytesLike(arg)) {
       
  1027                 __argValues[i].pointerVal = (void *)(__externalBytesVal(arg));
  1024             } else {
  1028             } else {
  1025                 if (arg == nil) {
  1029                 if (arg == nil) {
  1026                     __argValues[i].pointerVal = (void *)0;
  1030                     __argValues[i].pointerVal = (void *)0;
  1027                 } else {
  1031                 } else {
  1028                     failureCode = @symbol(InvalidArgument);
  1032                     failureCode = @symbol(InvalidArgument);
  1250     ].
  1254     ].
  1251 
  1255 
  1252     ^ returnValue
  1256     ^ returnValue
  1253 
  1257 
  1254     "Created: / 01-08-2006 / 13:56:23 / cg"
  1258     "Created: / 01-08-2006 / 13:56:23 / cg"
  1255     "Modified: / 16-04-2007 / 13:13:49 / cg"
  1259     "Modified: / 16-04-2007 / 15:36:40 / cg"
  1256 ! !
  1260 ! !
  1257 
  1261 
  1258 !ExternalLibraryFunction methodsFor:'testing'!
  1262 !ExternalLibraryFunction methodsFor:'testing'!
  1259 
  1263 
  1260 isExternalLibraryFunction
       
  1261     ^ true
       
  1262 ! !
  1264 ! !
  1263 
  1265 
  1264 !ExternalLibraryFunction class methodsFor:'documentation'!
  1266 !ExternalLibraryFunction class methodsFor:'documentation'!
  1265 
  1267 
  1266 version
  1268 version
  1267     ^ '$Header: /cvs/stx/stx/libbasic/ExternalLibraryFunction.st,v 1.53 2007-04-16 11:12:41 cg Exp $'
  1269     ^ '$Header: /cvs/stx/stx/libbasic/ExternalLibraryFunction.st,v 1.54 2007-04-16 13:35:43 cg Exp $'
  1268 ! !
  1270 ! !
  1269 
  1271 
  1270 ExternalLibraryFunction initialize!
  1272 ExternalLibraryFunction initialize!