Apart of the crazy resource-consuming requirements (every 'billion' of integers translates to, at least, 4 GB of memory), what is the purpose of storing the integers in a linked list?
In any case, the bulk of your task is relatively simple, build a linked list (see, for instance
"C Linked List Data Structure Explained with an Example C Program"[
^] and store the read integers in.