Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A simple description of the linked list functions is as follows:

  • init_drvList
    • Returns an allocated global linked list pointer. This does not necessarily mean that the linked l has elements.
    • Flow: If the global pointer is not NULL, a new linked list (type ELLLIST) is allocated, otherwise do nothing
  • find_drvLast:
    • Returns the last driver found. If not driver is found in the linked list, NULL is returned
    • Calls init_drvList, then counts the number of elements in the linked list. If they are not 0, it returns the last element, otherwise returns NULL
    (Impossible case unless there is a memory issue).
  • find_drvByPort:
    • Returns a driver that matches the same port name. If not found, returns NULL
    • Calls init_drvList, then iterates on the linked list one element at a time starting from the first element. Once an element with a portName that is not NULL, and a string length of not zero, and a string identical to the argument port_name is found, it is returned, otherwise the next item is examined. If none is found, NULL is returned
  • prep_drvAnonimous:
    • Returns an allocated but empty driver pointer that needs to be initialized
    • Calls init_drvList, then allocates memory for a new item in the linked list, initializes it, then adds it to the end of the linked list and returns linked list count.


Several other independent functions exist in the file. A simple description of these functions is as follows:

  • serviceAdd: (Incorrect naming - Proper naming should be channelAdd). Adds a new channel to the pServiceEllList linked list with the specifications provided
  • associateBsaChannels: Associates all BSA channels to a service; namely : BSSS or BLD. Calls serviceAdd for each of the BSA channels
  • bldChannelName: Associates a channel with an alias (channel name) for printing on the PVXS record describing the BLD packet
  • bsss_callback/bld_callback: Calls the driver callback with the buffer and the size provided