Due to modifications made to SDK components in version 1.4, you may need to make changes to the application code that was developed using KasperskyOS Community Edition version 1.3 before using that code with KasperskyOS Community Edition version 1.4.
The following critical changes were made to SDK components in version 1.4.
General changes
booti command instead of the bootelf command.kos-qemu-image in the SDK for hardware platforms.kos_net.h header file, and the wait_for_iface() function must be used instead.netinet6/in6.h has been removed. All IPv6 definitions have been moved to the standard netinet/in.h.GetItemDigest() function has been removed from the PackageManager component API.task.<PID>.time.ksm.executetask.<PID>.time.ksm.terminatetask.<PID>.time.ksm.requesttask.<PID>.time.ksm.responsetask.<PID>.time.ksm.securitytask.<PID>.services.<service>.callstask.<PID>.thread.<id>.time.ksm.executetask.<PID>.thread.<id>.time.ksm.terminatetask.<PID>.thread.<id>.time.ksm.requesttask.<PID>.thread.<id>.time.ksm.responsetask.<PID>.thread.<id>.time.ksm.securitytask.<PID>.thread.<id>.services.<service>.callstime.ksm.*mem.high.totalmem.high.freeChanges in the API of the DCM system program
Due to the addition of support for searching and connecting to CDL in DCM, the following functions have been removed:
DcmSetSubscription()DcmConnect()DcmAccept()The following functions must be used instead:
DcmSubscribeToEndpoints()DcmConnectToEndpoint()DcmAcceptEndpointConnection()The DCM system program now statically connects to all processes started by the Einit program. The security policies of the solution and the init.yaml file must be edited.
Changes to the API of the TLS Terminator system program
TLS_SSLIZE option.server_rsa_min_size argument.Changes in the libkos library API
KnThreadAttach()KnThreadCreate()KnThreadGetPriority()KnThreadSetPriority()KnThreadSuspend()KnThreadResume()KnThreadTerminate()KnThreadGetInfo()KnThreadWait()KnThreadGetAffinity()KnThreadSetAffinity()KnThreadGetSchedPolicy()KnThreadSetSchedPolicy()KnThreadSetTls()KosThreadTlsSet()KosThreadCallbackRegister()KosThreadCallbackUnregister()KnThreadTerminateByHandle() and KosThreadTerminate() functions have been changed.The correct point to stop is now the Suspend state of the thread. This state is possible either when a thread is created with the ThreadFlagCreateSuspended flag or when KnThreadSuspendCurrent() is called.
Thread::Attach core endpoint method always returns rcUnimplemented.startRoutine argument has been removed from the KnThreadCreateByHandle() function. This makes the thread entry point private for libkos and it can no longer be redefined by the user.kos/aslr.h header file has been removed.kos/time.h header file has been removed.hal/cputicks.h header file has been removed.Changes in the API for driver development
KdfRegisterDeviceEx() function has been removed.