; 
; Exports of file iasrad.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY iasrad.dll
EXPORTS
; public: long __cdecl VSAFilter::initialize(void) __ptr64
?initialize@VSAFilter@@QEAAJXZ
; public: long __cdecl VSAFilter::radiusFromIAS(struct IAttributesRaw * __ptr64)const  __ptr64
?radiusFromIAS@VSAFilter@@QEBAJPEAUIAttributesRaw@@@Z
; public: long __cdecl VSAFilter::radiusToIAS(unsigned char * __ptr64,unsigned long,class IASTL::IASAttributeVector & __ptr64)const  __ptr64
?radiusToIAS@VSAFilter@@QEBAJPEAEKAEAVIASAttributeVector@IASTL@@@Z
; public: long __cdecl VSAFilter::radiusToIAS(struct IAttributesRaw * __ptr64)const  __ptr64
?radiusToIAS@VSAFilter@@QEBAJPEAUIAttributesRaw@@@Z
; public: long __cdecl VSAFilter::shutdown(void) __ptr64
?shutdown@VSAFilter@@QEAAJXZ
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
