I'm trying to create a function that allows insertion anywhere in a linked list...here is what I have so far but am a bit confused on where to go from here

Code:
void llAddAtIndex(LinkedList** ll, char* value, int index) {

  LinkedList* newNode = (LinkedList*)malloc(sizeof(ll));
  newNode = *ll;
  LinkedList* prevNode = (LinkedList*)malloc(sizeof(ll));
  
  if(index == 0){
    newNode->next = newNode;
    newNode = newNode;
    }
  for(int i = 0; i < index; i++){
      prevNode = newNode;
    newNode = newNode->next;
  }
    
}