Ethernet Shield ENC28J60 error

// A simple web server that turn an LED on or off"

#include “etherShield.h”
#include “ETHER_28J60.h”

int outputPin1 = 6;
int outputPin2 = 7;

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24}; // this just needs to be unique for your network,

static uint8_t ip[4] = {192, 168, 1, 15}; // IP address for the webserver

static uint16_t port = 80; // Use port 80 - the standard for HTTP

ETHER_28J60 e;

void setup()
{
e.setup(mac, ip, port);
pinMode(outputPin1, OUTPUT);
pinMode(outputPin2, OUTPUT);
}

void loop()
{
char* params;
if (params = e.serviceRequest())
{
e.print((char*)“

Arduino Web Remote

”);
if (strcmp(params, “?led1=on”) == 0)
{
digitalWrite(outputPin1, HIGH);
e.print((char*)“LED IS ON”);
}
else if (strcmp(params, “?led1=off”) == 0)
{
digitalWrite(outputPin1, LOW);
e.print((char*)“LED IS OFF”);
}

else if (strcmp(params, “?led2=on”) == 0)
{
digitalWrite(outputPin2, HIGH);
e.print((char*)“LED IS ON”);
}
else if (strcmp(params, “?led2=off”) == 0)
{
digitalWrite(outputPin2, LOW);
e.print((char*)“LED IS OFF”);
}
e.respond();
}
}

error

In file included from C:\Program Files (x86)\Arduino\libraries\ACEduinoEthernetShield/etherShield.h:6:0,

from C:\Users\karla\Downloads\sketch_sep23a\sketch_sep23a\sketch_sep23a.ino:3:

C:\Program Files (x86)\Arduino\libraries\ACEduinoEthernetShield/ip_arp_udp_tcp.h:18:66: error: ‘prog_char’ does not name a type

extern uint16_t fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);

^

In file included from C:\Users\karla\Downloads\sketch_sep23a\sketch_sep23a\sketch_sep23a.ino:3:0:

C:\Program Files (x86)\Arduino\libraries\ACEduinoEthernetShield/etherShield.h:15:65: error: ‘prog_char’ does not name a type

uint16_t ES_fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);

^

exit status 1
Error compiling for board Arduino/Genuino Uno.

Please use code tags (</> button on the toolbar) when you post code or warning/error messages. The reason is that the forum software can interpret parts of your code as markup, leading to confusion, wasted time, and a reduced chance for you to get help with your problem. This will also make it easier to read your code and to copy it to the IDE or editor. Using code tags and other important information is explained in the How to use this forum post. Please read it.

The EtherShield library was written for older versions of the Arduino IDE(1.0.6 and previous). The compiler changed its handling of progmem since then. You could update the library fairly easily but as the author says:

PLEASE NOTE, THIS LIBRARY IS NO LONGER MAINTAINED

so I think you’d be better off to just switch to a more active library that works without modification. The one I’ve used successfully is UIPEthernet: