Copyright (c) Hyperion Entertainment and contributors.
Difference between revisions of "Deprecated Functions"
Steven Solie (talk | contribs) |
|||
Line 106: | Line 106: | ||
! scope="col"| Obsolete |
! scope="col"| Obsolete |
||
! scope="col"| Replacement |
! scope="col"| Replacement |
||
+ | |- |
||
+ | |CreateProc |
||
+ | |CreateNewProc |
||
+ | |- |
||
+ | |DeviceProc |
||
+ | |GetDeviceProc |
||
+ | |- |
||
+ | |ExAll |
||
+ | |ExamineDir |
||
|- |
|- |
||
| Examine |
| Examine |
||
Line 112: | Line 121: | ||
| ExamineFH |
| ExamineFH |
||
| ExamineObject |
| ExamineObject |
||
+ | |- |
||
+ | |ExNext |
||
+ | |ExamineDir |
||
|- |
|- |
||
| FreeDosEntry |
| FreeDosEntry |
||
Line 127: | Line 139: | ||
| ReadItem |
| ReadItem |
||
| ReadLineItem |
| ReadLineItem |
||
+ | |- |
||
+ | | Seek |
||
+ | | SetFilePosition/GetFilePosition |
||
|- |
|- |
||
| SetConsoleTask |
| SetConsoleTask |
Revision as of 11:41, 29 April 2016
Contents
- 1 Deprecated and Obsolete Functions
- 2 Components to Review
- 2.1 ASL Library
- 2.2 BOOPSI Classes/Gadgets
- 2.3 BSD Sockets Library
- 2.4 Chooser Gadget
- 2.5 Console Device
- 2.6 DOS Library
- 2.7 Exec Library
- 2.8 libamiga.a
- 2.9 Listbrowser Gadget
- 2.10 Math IEEE libraries (68K)
- 2.11 Picasso96 API Library
- 2.12 Space Gadget
- 2.13 Texteditor Gadget
- 2.14 Warp3D Library
- 2.15 Window Class
Deprecated and Obsolete Functions
With the introduction of AmigaOS 4.1 Final Edition, developers may have noticed additional compiler warnings when rebuilding their projects against the new SDK. While as much of the API has been maintained as is possible, some functions, structures, attributes, and tags have changed over time requiring the attention of application developers. To make life easier, the following is a handy guide to items that have been deprecated or made obsolete with this most recent release. If your code uses any of these items, please refer to the Autodocs for the component noted to review. Some functions may need to be replaced and others may have changed behavior. It's always a good idea to review the Release Notes with each SDK release, of course, too.
This article is inclusive of code made obsolete or deprecated since V50 of the components listed below. Please feel free to edit the document based on your findings should the author have overlooked anything.
Components to Review
ASL Library
Deprecated functions
Obsolete | Replacement |
---|---|
AllocFileRequest | AllocAslRequest |
FreeFileRequest | FreeAslRequest |
RequestFile | AslRequest |
Other
The following components in the ASL_FileRequest object are obsolete: ASLFR_HookFunc, ASLFO_HookFunc, and ASLFR_FilterFunc. For the latter, use ASLFR_FilterHook as a possible replacement.
BOOPSI Classes/Gadgets
Generally all BOOPSI gadget classes and superclasses had a #?_GetClass() function to return a pointer to the class itself. These functions are deprecated as of V52. Developers should use the gadget public class ID as a replacement. Some gadgets are listed separately in this article as they have other items now deprecated or obsolete; if a gadget is not listed herein, the above note regarding pointers should be the only item considered deprecated for it.
BSD Sockets Library
Deprecated Functions
Obsolete | Replacement |
---|---|
Errno | SocketBaseTags (with SBTC_ERRNO tag) |
getdtablesize | SocketBaseTags (with SBTC_DTABLESIZE tag) |
gethostid | n/a |
SetErrnoPtr | SocketBaseTags (with SBTC_ERRNOPTR tag) |
SetSocketSignals | SocketBaseTags |
Other
- The following IoctlSocket() calls are considered deprecated: SIOCSIFADDR, SIOCSIFDSTADDR, SIOCSIFBRDADDR, SIOCGIFADDR, SIOCGIFDSTADDR, SIOCGIFBRDADDR, SIOCSIFFLAGS, SIOCGIFFLAGS, SIOCSIFMETRIC, and SIOCGIFMETRIC.
- Several functions used in conjunction with SocketBaseTagList() are now deprecated as well: SBTC_FDCALLBACK, SBTC_IOERRNOSTRPTR, SBTC_S2ERRNOSTRPTR, SBTC_S2WERRNOSTRPTR, SBTC_SIGIOMASK, and SBTC_SIGURGMASK.h
Chooser Gadget
- The CHOOSER_GetClass function is no longer available. Use the "chooser.gadget" public class ID instead.
- The chooser.gadget attribute CHOOSER_AutoFit is now unsupported
Console Device
Deprecated Functions
Obsolete | Replacement (component) | Replacement (function) |
---|---|---|
CD_ASKDEFAULTKEYMAP | keymap.library | AskKeyMapDefault |
CD_ASKKEYMAP | console.device | CD_ASKKEYMAP_POINTERS |
CD_SETDEFAULTKEYMAP | keymap.library | SetKeyMapDefault |
CD_SETKEYMAP | console.device | CD_SETKEYMAP_POINTERS |
DOS Library
The collective changes to the DOS subsystem are substantial and developers are urged to review the Obsolete DOS documentation as a starting point. Additionally with the introduction of the new Vector-Port API, use of DOS packets is (for the most part) no longer needed. Please carefully read through the documentation when starting a new project with the release of V54.
Deprecated Functions
Obsolete | Replacement |
---|---|
CreateProc | CreateNewProc |
DeviceProc | GetDeviceProc |
ExAll | ExamineDir |
Examine | ExamineObject |
ExamineFH | ExamineObject |
ExNext | ExamineDir |
FreeDosEntry | FreeDosObject |
GetConsoleTask | GetConsolePort |
GetFileSysTask | GetFileSysPort |
MakeDosEntry | AllocDosObject |
ReadItem | ReadLineItem |
Seek | SetFilePosition/GetFilePosition |
SetConsoleTask | SetConsolePort |
SetFileSysTask | SetFileSysPort |
SetVBuf | SetFileHandleAttr |
SetOwner | SetOwnerInfo |
Other
- Several functions had name changes in V53. Please review dos/obsolete.h in the SDK includes if you haven't already updated prior to the release of V54.
- Before V53, CreateDir() returned an exclusive lock on the new directory if it succeeded, it is now required that this be a a shared lock. Exclusive directory locks have been deprecated. Only files may actually have exclusive locks.
- The id_NumSoftErrors and id_UnitNumber fields of the GDI_InfoData structure returned from GetDiskInfo() and Info() are considered deprecated.
- The following error codes returned from IoErr() are considered obsolete: ERROR_TASK_TABLE_FULL, ERROR_NO_DEFAULT_DIR, ERROR_OBJECT_LINKED, and ERROR_UNLOCK_ERROR.
Exec Library
Deprecated Functions
Obsolete | Replacement |
---|---|
AllocEntry | AllocTaskMemEntry |
AllocMem | AllocVecTagList or AllocVecTags |
AllocVec | AllocVecTagList or AllocVecTags |
CachePreDMA | StartDMA |
CachePostDMA | EndDMA |
CreatePool | AllocSysObject |
MakeLibrary | CreateLibrary |
AllocTrap | (for 68K only, no longer used) |
FreeTrap | (for 68K only, no longer used) |
GetCC | (for 68K only, no longer used) |
SetSR | (for 68K only, no longer used) |
Memory Flags
Allocating memory with modern Exec is slightly different than before. In addition to using AllocVecTagList or AllocVecTags rather than AllocMem, several flags are no longer relevant. Please review the article on Obsolete Memory Allocation Techniques to note what to avoid. Developers should follow the documentation in the Memory Allocation section instead.
libamiga.a
Deprecated Functions
Obsolete | Replacement (component) | Replacement (function) |
---|---|---|
BeginIO | exec.library | BeginIO |
CreateExtIO | exec.library | CreateIORequest |
CreatePort | exec.library | CreatePort |
CreateStdIO | exec.library | CreateIORequest |
CreateTask | exec.library | CreateTask |
DeleteExtIO | exec.library | DeleteIORequest |
DeletePort | exec.library | DeletePort |
DeleteStdIO | exec.library | DeleteIORequest |
DeleteTask | exec.library | DeleteTask |
NewList | exec.library | NewList |
Listbrowser Gadget
- The LISTBROWSER_GetClass function is no longer available. Use the "listbrowser.gadget" public class ID instead
- The listbrowser.gadget attribute LISTBROWSER_FastRender is obsolete; there is no replacement.
- The SetLBColumnInfoAttrsA function no longer accepts flags via LBCIA_Flags. One should use the equivalent tags instead.
Math IEEE libraries (68K)
As of V45 of mathieeedoubbas.library, mathieeedoubtrans.library, mathieeesingbas.library, and mathieeesingtrans.library, the mathieee.resources are no longer supported. It was felt that this solution was never very popular, neither very fast compared to a co-processor interface, and highly obsolete. This is doubly so in the PowerPC era of next-generation AmigaOne computers. They are included in the operating system merely for compatibility purposes and should not be used for new applications.
Picasso96 API Library
Starting with graphics.library V54, the vast majority of Picasso96 is now redundant. The graphics.library has been expanded and extended to seamlessly handle the traditional native (ECS, AGA) chip sets as well as modern graphics cards (RTG). Please carefully review the autodoc and consider migrating to the newer graphics.library-based API.
Deprecated Functions
Obsolete | Replacement (component) | Replacement (function) |
---|---|---|
p96AllocBitMap | graphics.library | AllocBitMapTags |
p96FreeBitMap | graphics.library | FreeBitMap |
p96LockBitMap | graphics.library | LockBitMapTags |
p96LockBitMapToBoard | graphics.library | LockBitMapToBoardTags |
p96ReadPixel | graphics.library | ReadPixelColor |
p96ReadPixelArray | graphics.library | ReadPixelArray |
p96RectFill | graphics.library | RectFillColor |
p96UnlockBitMap | graphics.library | UnlockBitMap |
p96UnlockBitMapFromBoard | graphics.library | UnlockBitMapFromBoard |
p96WritePixel | graphics.library | WritePixelColor |
p96WritePixelArray | graphics.library | WritePixelArray |
Space Gadget
- The SPACE_GetClass function is no longer available. Use the "space.gadget" public class ID instead.
- The space.gadget SPACE_AreaBox tag is deprecated because it is unsafe to use in a multi-tasking environment. Use SPACE_RenderBox instead.
Texteditor Gadget
- The TEXTEDITOR_GetClass function is no longer available. Use the "texteditor.gadget" public class ID instead.
- The texteditor.gadget attributes GA_TEXTEDITOR_Prop_DeltaFactor and GA_TEXTEDITOR_HProp_DeltaFactor are now obsolete.
Warp3D Library
Deprecated functions
Obsolete | Replacement |
---|---|
W3D_GetDestFmt | W3D_Query |
Window Class
- The WINDOW_HintInfo attribute for gadget HelpHints is now considered obsolete and only included for compatibility purposes. Developers should supply all of the hints via the GA_HintInfo attribute of each gadget, and set the WINDOW_GadgetHelp attribute for future projects.
- The WINDOW_Layout tag has 2 aliased definitions which are now obsolete but still supported in the include files.