The API changes should provide both source and binary( )for programs written to the original API.That is, existing program binaries should continue to operate when run on a system supporting the new API.In addition, existing( )that are re-compiled and run on a system supporting the new API should continue to operate.Simply put, the API( ) for multicast receivers that specify source filters should not break existing programs.The changes to the API should be as small as possible in order to simplicity the task of converting existing( ) receiver applications to use source filters. Applications should be able to delete when the new( ) filter APIs are unavailable(e.g., calls fail with the ENOTSUPP error) and react gracefully(e.g., revert to old non-source-filter API or display a meaningful error message to the user).